Django学习笔记3-数据库设置

xiaoxiao2021-02-28  28

在使用eclipse创建Django项目时明明填写了数据库配置信息,在配置文件中的数据库配置还是默认配置,所以只能手动配置

编辑 myweb/settings.py 。该文件(模块),包含了代表

Django 设置的模块级变量。 更改 DATABASES 中 'default' 中以下键的值,以匹

配数据库连接设置。

ENGINE:从 'django.db.backends.postgresql_psycopg2',

'django.db.backends.mysql', 'django.db.backends.sqlite3',

'django.db.backends.oracle' 中选一个。

NAME: 数据库名称。如果你使用 SQLite,该数据库将是你计算机上的一个

文件;在这种情况下,NAME 将是一个完整的绝对路径,而且还包含该文件的

名称。如果该文件不存在,它会在第一次同步数据库时自动创建。

当指定路径时,总是使用正斜杠,即使是在 Windows 下(例

如: C:/homes/user/mysite/sqlite3.db ) 。

USER:你的数据库用户名 ( SQLite 下不需要) 。

PASSWORD:你的数据库密码 ( SQLite 下不需要) 。

HOST : 你的数据库主机地址。如果和你的数据库服务器是同一台物理机器,

请将此处保留为空 (或者设置为 127.0.0.1) ( SQLite 下不需要) 。

将 TIME_ZONE 修改为你所在的时区。默认值是美国中央时区(芝加哥)。

配置好后启动Django后报错

import MySQLdb as Database

ModuleNotFoundError: No module named 'MySQLdb'

网上查资料后,由于django支持的是MySQLdb,PyMySQL是作为停更的MySQLdb支持python3.x,因此需要在项目的__init\_.py(myweb/myweb/__init__.py_)添加如下设置:

import pymysql pymysql.install_as_MySQLdb()

备注

SQLite 是内置在 Python 中的,因此你不需要安装任何东西来支持你的数据库。

如果你使用 PostgreSQL 或者 MySQL,确保你已经创建了一个数据库。 如果你使用 SQLite ,你不需要事先创建任何东西 - 在需要的时 候,将会自动创建数据库文件。

同时,注意文件底部的 INSTALLED_APPS 设置。它保存了当前 Django 实例已激

活的所有 Django 应用。每个应用可以被多个项目使用,而且你可以打包和分发给

其他人在他们的项目中使用。

默认情况下,INSTALLED_APPS 包含以下应用,这些都是由 Django 提供的:

django.contrib.auth – 身份验证系统。

django.contrib.contenttypes – 内容类型框架。

django.contrib.sessions – session 框架。

django.contrib.sites – 网站管理框架。

django.contrib.messages – 消息框架。

django.contrib.staticfiles – 静态文件管理框架。

这些应用在一般情况下是默认包含的。

所有这些应用中每个应用至少使用一个数据库表,所以在使用它们之前我们需要创

建数据库中的表。要做到这一点,请运行以下命令:

python manage.py syncdb

1.7还是哪个版本开始,django移除了syncdb命令,同步(迁移)数据库用如下两个命令:

python manage.py makemigrations python manage.py migrate
转载请注明原文地址: https://www.6miu.com/read-59990.html

最新回复(0)