目录
pip install virtualenv
virtualenv -p D:\python\python.exe(python解释器目录) env-py3.6(虚拟环境目录,名称随意)
?在当前目录下生成env-py3.6目录。
...\env-py3.6\Scripts> .\activate
deactivate
在虚拟环境下:
pip install Django==3.1.5
不同版本的Django兼容的Python不同,需要提前查阅安装。
在VSCode界面最下方,更换解释器,更换为虚拟环境的解释器,即virtualenv生成的env-py3.6/Scripts/python.exe。
django-admin startproject [project_name]
当前目录生成project_name目录,此名称可改,内部同名文件夹不可改。
进入project:
python manage.py startapp [appname]
常见完成后,将app注册到全局,即projectname/projectname/settings.py。注册方式,引入app目录下apps.py的app类即可:
INSTALLED_APPS = [
"appname.apps.AppnameConfig", # 注册app
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
在manage.py同级位置创建templates文件夹,并在其中创建index.html,内容编写hello world。
配置全局settings文件:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'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',
],
},
},
]
修改appname/views.py
from django.shortcuts import render
# Create your views here.
def index(request):
return render(request, 'index.html')
Django会在templates中寻找index.html,并将其返回。
修改projectname/urls.py
from django.contrib import admin
from django.urls import path
from appname import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/', views.index),
]
当访问index路由时,django会将其交给appname的index视图处理逻辑,index视图的逻辑是将index.html模板返回。
python manage.py runserver
浏览器访问http://localhost:8000/index/