赞
踩
(base) XXX:~ XXX$ conda create -n my_django python=3.9
(base) XXX:~ XXX$ conda activate my_django
pip install django
## pip3 install django 当使用pip安装失败的时候可以尝试使用pip3
(my_django) XXX:~ XXX$ django-admin startproject first_django
此时项目结构如下:
【如果此时报错 zsh: command not found: django-admin】
是django-admin路径问题。首先需要找到django-admin现在所在的绝对路径,然后将其通过软连接处理放到/usr/local/bin下面去
sudo find / -name django-admin
sudo ln -s /Users/XXX/Library/Python/3.X/bin/django-admin /usr/local/bin
此时的项目结构如下:
进入到django项目的根目录下,然后创建django App
(my_django) XXX:~ XXX$ cd first_django
(my_django) XXX:first_django$ python manage.py startapp backend
# 当使用python命令的时候报错的话,可以尝试使用python3
此时的项目结构如下:
(my_django) XXX:first_django$ npm install -g @vue/cli-init #若不添加,则无法使用vue init命令
(my_django) XXX:first_django$ vue init webpack frontend
以上是我对初始化vue项目的配置,供参考
? Project name frontend
? Project description the frontend for my first web
? Author name <XXXX@qq.com>
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Set up unit tests No
? Setup e2e tests with Nightwatch? No
? Should we run `npm install` for you after the project has been created? (recommended) npm
此时的项目结构如下:
首先将vue项目进行打包
cd frontend
npm install
npm run build
此时会产生一个带有static文件夹和index.html的一个文件夹dist。这个文件夹是用于集成到django框架中的。(每次更新vue项目,都需要重新执行上述代码进行打包)
django项目下的setting.py
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', # 'DIRS': [], #注释掉 'DIRS':['frontend/dist'], # 用它替换 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] ## 添加如下前端静态文件夹路径 # Add for vue.js STATICFILES_DIRS = [ os.path.join(BASE_DIR, "frontend/dist/static"), ] ## 添加如下后端静态文件夹路径 STATIC_URL = 'static/' # STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] # 不需要
django下的urls.py
from django.contrib import admin
from django.urls import path
from django.views.generic.base import TemplateView # 引入TemplateView
urlpatterns = [
path('admin/', admin.site.urls),
path(r'', TemplateView.as_view(template_name="index.html")), # 定义frontend/dist/index.html的路径
]
需要在djange项目的主路径下执行,否则找不到manage.py
(my_django) XXX:first_django$ python manage.py runserver
可通过本地网页http://127.0.0.1:8000/进行访问。
https://www.cnblogs.com/smallclown/p/11656001.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。