数据库的建立
编辑mysite/settings.py,找到Database:
# Database # https://docs.djangoproject.com/en/1.9/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
默认情况下,该配置使用Django自带的SQLite。如果你是数据库初学者,或者你仅仅是想要试用一下Django,它是最简单的选择。 SQLite包含在Python中,所以你不需要另外安装其他任何东西来支持你的数据库。
当然,你也可以使用其他数据库,如果你希望使用另外一种数据库,请安装合适的database binding,并在 DATABASES中修改配置以匹配你的数据库连接的设置。
Django默认使用SQLite 建立一个数据库,这是比较简单的方法,可以使用以下配置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'mydatabase', } }
当连接其他数据库后端,比如MySQL、Oracle 或PostgreSQL,必须提供更多的连接参数。关于如何指定其他的数据库类型,参见后面的ENGINE 设置。下面的例子用于PostgreSQL:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '5432', } }
更多设置见:http://python.usyiyi.cn/django/ref/settings.html#std:setting-DATABASES
如果你使用PostgreSQL或者MySQL,确保到此你已经建立好一个数据库。
如果你使用SQLite,你不需要事先创建任何东西 —— 数据库文件将会在需要的时候自动创建。
当你编辑mysite/settings.py时,请设置TIME_ZONE为你自己的时区。
TIME_ZONE = 'Asia/Shanghai'
另外,请注意文件顶端的INSTALLED_APPS设置。它保存这个Django实例中激活的所有的Django应用的名字。 应用可以使用在多个项目中,而且你可以将这些应用打包和分发给其他人在他们的项目中使用。
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
默认情况下,INSTALLED_APPS包含下面的应用,它们都是Django 与生俱来的:
- django.contrib.admin —— 管理站点。
- django.contrib.auth —— 认证系统。
- django.contrib.contenttypes —— 用于内容类型的框架。
- django.contrib.sessions —— 会话框架。
- django.contrib.messages —— 消息框架。
- django.contrib.staticfiles —— 管理静态文件的框架。
然而上面的部分应用至少需要使用一个数据库表,因此我们需要在使用它们之前先在数据库中创建相应的表。要做到这一点,请在cmd运行以下命令:
python manage.py migrate
对于极简主义者来说
就像我们上面说到的,以上包含的默认应用用于常见的场景,但并不是每个人都需要它们。 如果你不需要它们中的任何一个或所有应用,可以在运行migrate之前从INSTALLED_APPS中自由地注释或删除相应的行。migrate 命令将只为INSTALLED_APPS中的应用运行数据库的迁移。