Django学习笔记-数据库配置

Django-数据库配置

数据库的初始配置,需要让Django知道使用什么数据库以及如何连接数据库。

ENGINE:使用哪个数据库引擎

注意:

Django中使用数据库,ENGINE必须是如下所列出的值。

设置数据库所需适配器
postgresqlPostgreSQLpsycopg 1.x版,http://www.djangoporject.com/r/python-pgsql/1/
postgresql_psycopg2PostgreSQLpsycopg 2.x版,http://www.djangoproject.com/r/python-pgsql/
mysqlMySQLMySQLdb,http://www.djangoproject.com/r/python-mysql/
sqlites3SQLite如果使用python 2.5+则不需要适配器。否则就使用pysqlite,http://www.djangoproject.com/r/python-sqlite/
oracleOraclecx_Oracle,http://www.djangoproject.com/r/python-oracle/

注意:

无论使用哪个数据库服务器,都必须下载和安装对应的数据库适配器。

NAME:使用的数据库名称

注意:如果使用SQLite,需要对数据库文件指定完整的文件系统路径,eg:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

USER:数据库用户名
PASSWORD:数据库用户名对应密码
HOST:连接哪一台主机的数据库服务器

注意:

如果数据库与Django安装与同一台计算机,可将此处保留空白。

使用python manage.py shell来对数据库配置进行测试,manage.py shell命令是以正确Django配置启用python交互解释器的一种方法,这个方法很有必要,因为Django需要知道加载哪个配置文件来获取数据库连接信息。

使用如下命令进行测试数据库配置:

>>>from django.db import connection
>>>cursor = connection.cursor()

如果没有出现什么错误,就说明数据库配置是正确的。否则,就可以依据下表错误信息来纠正错误:

错误信息解决方法
You haven’t set the DATABASE_ENGINE setting yet.不要以空字符串配置”DATABASE_ENGINE”的值,上述表格列出过可用的值。
Enviroment variable DJANGO_SETTINGS_MODULE is undefined.使用”python manage.py shell”命令交互解释器,不要以”python”命令直接启动交互解释器。
Error loading _____ module:No module named _____.未安装合适的数据库适配器 (例如, psycopg 或 MySQLdb )。Django并不自带适配器,所以你得自己下载安装。
_____ isn’t an available database backend.把DATABASE_ENGINE 配置成前面提到的合法的数据库引擎。也许是拼写错误?
database _____ does not exist设置”DATABASE_NAME”指向存在的数据库,或者先在数据库客户端中执行合适的”CREATE DATABASE”语句创建数据库。
role _____ does not exist设置”DATABASE_USER”指向存在的用户,或者先在数据库客户端中执创建用户。
could not connect to server查看DATABASE_HOST和DATABASE_PORT是否已正确配置,并确认数据库服务器是否已正常运行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值