数据库
注意: Django 从2.1开始不再支持 MySQL 5.5,需要 MySQL 5.6及以上。
Django中,操作MySQL数据库默认使用驱动MySQLdb,如果需要改为PyMySQL,需要做作如下修改:
settings.py
:
注: MySQL需要指定DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'USER': 'root', 'PASSWORD': 'root', 'HOST': '127.0.0.1', 'PORT': '3306', 'OPTIONS': { 'init_command': 'SET storage_engine=INNODB;', 'charset': 'utf8mb4', 'use_unicode': True }, } }
OPTIONS
解决数据库中与程序中编码不一致导致的乱码问题。settings.py
同目录的__init__.py
:import pymysql pymysql.install_as_MySQLdb()
其他配置
- 国际化/本地化-中文
LANGUAGE_CODE = 'zh-hans'
- 时区
TIME_ZONE = 'Asia/Shanghai'
- 加载哪些应用
INSTALLED_APPS = []
- 调试模式
DEBUG = True
- 允许谁(主机)访问
ALLOWED_HOSTS = [ '0.0.0.0', '127.0.0.1' ]
应用添加模型
应用以
blog
为例
- 编辑应用blog目录下的模型文件(
blog/models.py
), 添加模型类 - 项目配置文件中的
INSTALLED_APPS
中添加blog应用'blog.apps.BlogConfig'
, 修改后如下:
注:INSTALLED_APPS = [ # ... 'blog.apps.BlogConfig' ]
'blog.apps.BlogConfig'
包含3部分内容:blog
为应用目录(包
)apps
为应用主文件(模块
)BlogConfig
为应用配置类(类
)
- 为应用blog创建数据库迁移文件
python manage.py makemigrations <应用名>
python manage.py makemigrations blog
- 查看迁移文件会执行的操作(不会修改数据库)
python manage.py sqlmigrate <应用名> <迁移版本号>
注:python manage.py sqlmigrate blog 0001
迁移版本号
为blog/migrations/
下面生成的迁移文件(比如:0001_initial.py
)的数字前缀部分 - 执行迁移操作(修改数据库)
python manage.py migrate
参考官方文档:
https://docs.djangoproject.com/
版权声明:本文为博主原创文章,未经博主允许不得转载。https://mp.csdn.net/mdeditor/84291636