1.创建虚拟环境
conda create -n 环境名 python=版本号(3.7)
2.进入创建的虚拟环境
conda activate 环境名
3.安装Django
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ Django==2.2.3
二、Django项目
1.创建项目
django-admin startproject 项目名
注:在哪里创建了项目就会在哪里生成一个项目文件夹
2.创建应用
(1)进入项目
cd 项目名
(2)创建应用
python manage.py startapp 应用名
(3)打开 应用名/views.py,把下面代码输入进去
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
(4)在 应用名的文件夹里面 里面创建一个urls.py文件,写如下代码
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
(5)在 项目名/项目名/urls.py 文件
- 将from django.urls import path换为from django.urls import include, path
- 将urlpatterns = [path('admin/', admin.site.urls),]换为urlpatterns = [
path('应用名/', include('应用名.urls')),
path('admin/', admin.site.urls),
]
1.新建配置文件
(1)准备配置文件目录:在项目名/项目名中新建包settings
- 在项目名/项目名中创建一个settings文件夹
- 创建一个将项目名/项目名中的_init_.py文件拷贝到项目名/项目名/settings文件夹中
(2)在项目名/项目名/settings文件夹中创建dev.py文件,并将项目名/项目名中的settings文件内容拷贝到dev.py文件中,并删掉settings文件
(3)打开manage.py文件
把os.environ.setdefault('DJANGO_SETTINGS_MODULE', '项目名.settings')改为os.environ.setdefault('DJANGO_SETTINGS_MODULE', '项目名.settings.dev')
2.配置jinja2模板
(1)安装jinja2扩展包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ jinja2
(2)配置jinja2环境
- 打开项目名/项目名/settings/dev.py文件将TEMPLATES里内容换为
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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',
],
},
},
# Jinja2模板引擎配置信息
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'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',
],
# 补充Jinja2模板引擎环境
'environment': '项目名.utils.jinja2_env.jinja2_environment',
},
},
]
- 在项目名/项目名中创建一个utils文件夹,并将项目名/项目名中的_init_.py文件拷贝到项目名/项目名/utils文件夹中,并创建jinja2_env.py文件
- 在jinja2_env.py文件中输入如下代码
from jinja2 import Environment
from django.urls import reverse
from django.contrib.staticfiles.storage import staticfiles_storage
def jinja2_environment(**options):
"""jinja2环境"""
# 创建环境对象
env = Environment(**options)
# 自定义语法:{{ static('静态文件相对路径') }} {{ url('路由的命名空间') }}
env.globals.update({
'static': staticfiles_storage.url, # 获取静态文件的前缀
'url': reverse, # 反向解析
})
# 返回环境对象
return env
3.配置MySQL数据库
(1)打开项目名/项目名/settings/dev.py文件,将DATABASES=[]内容改为
DATABASES = {
'default': {
#'ENGINE': 'django.db.backends.sqlite3',
#'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE':'django.db.backends.mysql',
'HOST':'127.0.0.1',
'PORT':3306,
'USER':'root', #用户名
'PASSWORD':'123456', #密码
'NAME':'sy3' #数据库名字
}
}
(2)在项目名文件夹中安装PyMySQL扩展包
pip install PyMySQL
(3)卸载pymysql
pip uninstall pymysql
(4)安装mysqlclient
pip install mysqlclient
如报错参考https://blog.csdn.net/lpw_cn/article/details/90322515
四、运行
python manage.py runserver
如报错name '_mysql' is not defined参考https://blog.csdn.net/m0_47970692/article/details/114106262
如报错AttributeError: 'str' object has no attribute 'decode'参考https://blog.csdn.net/weixin_49509128/article/details/111570928