- 本次项目命名为
BulletinBoardSystem
File
---> New Project
--->Django
--->定义配置项
---> CREATE
【二】创建APP
【1】创建APP
# 创建用户APP
python manage.py startapp user
# 创建站点APP
python manage.py startapp blog
# 创建文章APP
python manage.py startapp article
【2】路由分发
- 分别在三个app下新建
urls.py
并增加下述内容
from django.urls import path
urlpatterns = []
- 在跟路由下进行路由分发
BulletinBoardSystem/urls.py
from django.contrib import admin
from django.urls import path
from django.urls.conf import include
urlpatterns = [
path('admin/', admin.site.urls),
path("user/", include("user.urls")),
path("blog/", include("blog.urls")),
path("article/", include("article.urls")),
]
【三】配置文件配置
【0】配置Django版本
- 如果是安装虚拟环境,则默认安装最新版本Django
- 但是我们的项目使用的是Django3.2.12版本
# 安装指定版本的Django
# 如果已经安装的是最新版本的Django,则默认会卸载最新版本的Django
# 安装指定版本的Django
pip install django==3.2.12
【1】注册APP
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 注册创建的用户APP
"user.apps.UserConfig",
# 注册创建的博客APP
"blog.apps.BlogConfig",
# 注册创建的文章APP
"article.apps.ArticleConfig"
]
【2】配置数据库
(1)数据库选择
- 本次项目使用的MySQL数据库
- 因此需要创建新的数据库
# 进入MySQL数据库
mysql -uroot -p
# 执行创建数据库命令
create database bbs_sys;
(2)配置Django
DATABASES = {
'default': {
# 数据库引擎选择使用MySQL
'ENGINE': 'django.db.backends.mysql',
# 指定数据库名字,需提前创建
'NAME': 'bbs_sys',
# 指定数据库用户名
'USER': 'root',
# 指定数据库用户密码
'PASSWORD': '1314521',
# 指定数据库连接IP
'HOST': '127.0.0.1',
# 指定数据库端口
'PORT': 3306,
# 指定数据库默认编码集(可选)
'CHARSET': 'utf8',
}
}
(3)Django启动MySQL解决方案
# 解决方案一:安装mysqlclient
pip install mysqlclient
# 解决方案二:猴子补丁
# 步骤一:安装 pymysql 模块
pip install pymysql
# 步骤二:在任意位置的 __init__.py 文件中增加下述代码
import pymysql
pymysql.install_as_MySQLdb()
【四】修改时区
- 默认时区为国际时区,切换为亚洲上海
- 默认Django显示的语言为英文,切换为中文
# 默认提示语言为英文
# LANGUAGE_CODE = 'en-us'
# 默认时区为UTC时区
# TIME_ZONE = 'UTC'
# 切换语言提示为中文
LANGUAGE_CODE = 'zh-hans'
# 切换时区为亚洲上海
TIME_ZONE = 'Asia/Shanghai'
【五】配置静态文件
- 因为需要借助Django的静态文件渲染语法
- 所以需要配置Django的静态文件配置
STATIC_URL = 'static/'
# 新增 static 配置
STATICFILES_DIRS = [
# 默认使用根目录下的静态文件进行渲染
# 不要忘记手动导入 os 模块 import os
os.path.join(BASE_DIR, 'static')
]