数据库设置
现在,打开mystic/setting.py
。它是一个普通的python模块,里面是模块级别的变量,代表着Django设置。
Django默认使用SQLite数据库。如果你对数据库陌生,或者你只是对尝试Django感兴趣的话,这是最简单的选择。SQLite数据库是包含在python中的,所以你不需要安装其他东西来支持你的数据库。但是,你开始第一个工程的时候,你可能想要使用一个更强大的数据库,比如PostgreSQL,从而避免在以后的道路上切换数据库的头痛。
如果你希望使用另外一种数据库的话,安装合适的数据库绑定,并且要改变在DATABASES 'default'
中的键来搭配你的数据库连接设置:
- ENGINE-‘django.db.backends.sqlite3‘或’django.db.backends.postgresql_psycopg2‘或’django.db.backends.mysql‘或’django.db.backends.oracle’
- NAME-你数据库的名称。如果你使用SQLite的话,数据库会是你电脑上的一个文件;那样的话,NAME应当是绝对路径,包括文件名。默认的值
os.path.join(BASE_DIR,'db.sqlite3'
,会存储你工程目录中的文件。
如果你不是用SQLite数据库的话,额外的设置,比如USER,PASSWORD,HOST必须要添加:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
注意:如果你正在使用PostgreSQL或MySQL,确保这个时候你已经创建好了数据库。在你的数据库交互命令中执行CREATE DATABASE database_name
。如果你正在使用SQLite数据库,你不必创建任何东西,数据库文件会自动被创建。
你在编辑mysite/setting.py
的时候,请将TIME_ZONE
设置成你自己的时区。
也要注意一下INSTALLED_APP
这个设置。这个设置会记下所有Django应用的名称,应用可以被用在很多工程中,你可以将它们打包和传播。
默认地,INSTALLED_APP
包含以下的应用:
- django.contrib.admin:一个管理网站
- django.contrib.auth:一个证实系统
- django.contrib.contenttypes:一个内容类型的框架
- django.contrib.sessions:一个session框架
- django.contrib.messages:一个消息框架
- django.contrib.staticfiles:一个管理静态文件的框架
一些应用会充分利用至少一个数据库表,所以在使用它们之前要在数据库中创建数据表。为了做那个,运行下面的命令:
python manage.py migrate