WEB开发中,即使很简单的应用程序都可能需要用到数据库来存储数据,读取数据,修改数据
Django框架为我们提供了现成的数据库访问API,我们只需要简单做一些配置就可以了
APP注册
编写的app应用程序需要注册,django才能自动为app创建数据库
找到如下代码片段, 并添加自己所编写的app模块名称,比如"polls"
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls'
]
数据库配置
打开项目的settings.py文件,在本例中为myproject/settings.py
在settings.py中找到如下部分:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
Django默认使用sqlite3,Python默认支持sqlite3
ENGINE - 使用的数据库引擎
NAME - 数据库名,对sqlite3来说,数据库名就是对应的一个数据库文件路径名
使用其他数据库,比如MySQL数据库,还需要提供HOST, USER, PASSWORD, PORT连接参数
ENGINE配置
Django中,ENGINE内置支持以下数据库
'django.db.backends.postgresql'
'django.db.backends.mysql'
'django.db.backends.sqlite3'
'django.db.backends.oracle'
MYSQL配置举例
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
时区配置
时区设置是很容易被忽略的一项配置
通常需要将数据库的时区与应用程序运行环境的时区设置为一致,否则可能会有意想不到的问题
在settings.py中找到TIME_ZONE
TIME_ZONE = "Asia/Shanghai"
初始化数据库
在INSTALLED_APPS
中已经包含了一些内置的app,比如会员管理,接下来要给这些应用创建对应的数据库
执行下面的命令
python manage migrate
执行完毕后,即可完成数据库的初始化
讨论区