Django 中的模板引擎在创建项目的时候可以选择,包含:Django Templats 和 Jinja2
模板是一种特殊的 HTML,里面会包含一些变量和指令,配置模板引擎解析,生成一个完整的 HTML 页面,返回给浏览器展示出来。
创建一个新项目时,在 settings.py 文件中,Django 初始化的模板配置信息如下:
需要注意的是,实际项目开发中,只需要配置 DIRS 路径即可,根目录下的 templates 文件夹用于存放通用的模板文件。
# settings.py # 配置模板的路径 # 包含:根目录的 templates 目录和 App 下的 templates 目录 # 注意:每一个 App 下都可以新建一个 templates 目录,然后配置进去 'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR, 'secondapp/templates') ]另外,每一个 App 下也可以新建一个 templates 目录,用于保存当前 App 所需要模板文件。
2. 数据库数据库配置是用于实现项目和数据库的连接,实现数据的增删查改。
Django 提供了 4 种数据库引擎,分别是:
# settings.py # 4 种数据库引擎 # 数据库postgresql 'django.db.backends.postgresql' # mysql数据库 'django.db.backends.mysql' # sqlite数据库 'django.db.backends.sqlite3' # oracle数据库 'django.db.backends.oracle'Django 新建一个项目的时候,默认使用 Sqlite3 数据库,常用于移动端,配置信息如下:
# settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }以连接 Mysql 为例
要实现项目和数据库的连接,首先需要安装 mysqlclient 依赖库
# 安装依赖库:mysqlclient pip3 install mysqlclient接着,在配置文件 setttings.py 中配置 Mysql 的数据库基本信息,包含:用户名、密码、数据库名、HOST 及端口号
DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # }, 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django', # 数据库名 'USER': 'root', # 登录用户名 'PASSWORD': '123456', # 登录密码 'HOST': '139.199.**.**', # 服务器地址 'PORT': '3306', # 数据库端口号,一般为:3306 }, }最后,使用 python3 manage.py migrate 命令将内置的迁移文件在 Mysql 数据库中生成对应的数据表
如果执行上面的命令没法连接 Mysql Server,可以通过修改 user 表的 host 项来解决这个问题。
# 登录数据库,修改mysql数据库内,user表的host字段 use mysql; update user set host = '%' where user = 'root'; FLUSH PRIVILEGES;使用 Navicat 客户端可以查看到默认生成的数据表。
对于一些数据量很大的系统,单个数据库存储可能没法满足服务器负载要求,需要将数据存储到多数据库服务器
在配置文件 settings.py 中,Django 可以配置多个数据库,使用 default 关键字指定一个默认的数据库
3. 中间件中间件在 Django 中,是一个轻量级别的插件系统,用来处理 Django 中的请求和响应的框架级别的钩子
中间件的作用是处理用户 Request 请求和 Response 响应内容,对 Django 的输入、输出做整体的修改。
可以在中间件列表下添加 LocaleMiddleware 中间件,可以让内置的功能支持中文显示。
# 中间件列表 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', # 新增中间件,支持中文显示 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]一些复杂的功能可以通过自定义中间件类,然后在 settings.py 进行配置,激活中间件即可。
需要注意的是,中间件的加入顺序是固定的,不能随意更改顺序,否则会导致程序异常。
Django 项目默认的中间件配置可以满足大部分开发需求,一般不需要进行更改。
---来自腾讯云社区的---AirPython
微信扫一扫打赏
支付宝扫一扫打赏