Python的Django框架中的数据库配置指南


Posted in Python onJuly 17, 2015

记住这些理念之后,让我们来开始 Django 数据库层的探索。 首先,我们需要做些初始配置;我们需要告诉Django使用什么数据库以及如何连接数据库。

我们假定你已经完成了数据库服务器的安装和激活,并且已经在其中创建了数据库(例如,用 CREATE DATABASE 语句)。 如果你使用SQLite,不需要这步安装,因为SQLite使用文件系统上的独立文件来存储数据。

象前面章节提到的 TEMPLATE_DIRS 一样,数据库配置也是在Django的配置文件里,缺省 是 settings.py 。 打开这个文件并查找数据库配置:

DATABASE_ENGINE = ''
DATABASE_NAME = ''
DATABASE_USER = ''
DATABASE_PASSWORD = ''
DATABASE_HOST = ''
DATABASE_PORT = ''

配置纲要如下。

    DATABASE_ENGINE 告诉Django使用哪个数据库引擎。 如果你在 Django 中使用数据库, DATABASE_ENGINE 必须是表中所列出的值。

Python的Django框架中的数据库配置指南

    要注意的是无论选择使用哪个数据库服务器,都必须下载和安装对应的数据库适配器。 访问表 5-1 中“所需适配器”一栏中的链接,可通过互联网免费获取这些适配器。 如果你使用Linux,你的发布包管理系统会提供合适的包。 比如说查找`` python-postgresql`` 或者`` python-psycopg`` 的软件包。

    配置示例:

DATABASE_ENGINE = 'postgresql_psycopg2'

    DATABASE_NAME 将数据库名称告知 Django 。 例如:

DATABASE_NAME = 'mydb'

    如果使用 SQLite,请对数据库文件指定完整的文件系统路径。 例如:

DATABASE_NAME = '/home/django/mydata.db'

    在这个例子中,我们将SQLite数据库放在/home/django目录下,你可以任意选用最合适你的目录。

    DATABASE_USER 告诉 Django 用哪个用户连接数据库。 例如: 如果用SQLite,空白即可。

    DATABASE_PASSWORD 告诉Django连接用户的密码。 SQLite 用空密码即可。

    DATABASE_HOST 告诉 Django 连接哪一台主机的数据库服务器。 如果数据库与 Django 安装于同一台计算机(即本机),可将此项保留空白。 如果你使用SQLite,此项留空。

    此处的 MySQL 是一个特例。 如果使用的是 MySQL 且该项设置值由斜杠( '/' )开头,MySQL 将通过 Unix socket 来连接指定的套接字,例如:

DATABASE_HOST = '/var/run/mysql'

一旦在输入了那些设置并保存之后应当测试一下你的配置。 我们可以在`` mysite`` 项目目录下执行上章所提到的`` python manage.py shell`` 来进行测试。 (我们上一章提到过在,`` manager.py shell`` 命令是以正确Django配置启用Python交互解释器的一种方法。 这个方法在这里是很有必要的,因为Django需要知道加载哪个配置文件来获取数据库连接信息。)

输入下面这些命令来测试你的数据库配置:

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

如果没有显示什么错误信息,那么你的数据库配置是正确的。 否则,你就得 查看错误信息来纠正错误。 下表是一些常见错误。

Python的Django框架中的数据库配置指南

Python 相关文章推荐
Python中死锁的形成示例及死锁情况的防止
Jun 14 Python
python利用dir函数查看类中所有成员函数示例代码
Sep 08 Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 Python
Django开发中复选框用法示例
Mar 20 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
python django model联合主键的例子
Aug 06 Python
django fernet fields字段加密实践详解
Aug 12 Python
python递归下载文件夹下所有文件
Aug 31 Python
python实现图片横向和纵向拼接
Mar 05 Python
python os模块常用的29种方法使用详解
Jun 02 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
python 绘制场景热力图的示例
Sep 23 Python
浅谈python中截取字符函数strip,lstrip,rstrip
Jul 17 #Python
在Django的视图中使用数据库查询的方法
Jul 16 #Python
详解Python的Django框架中的模版继承
Jul 16 #Python
Django中模版的子目录与include标签的使用方法
Jul 16 #Python
Django中使用locals()函数的技巧
Jul 16 #Python
Django框架中render_to_response()函数的使用方法
Jul 16 #Python
在Python的Django框架中加载模版的方法
Jul 16 #Python
You might like
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
php float不四舍五入截取浮点型字符串方法总结
2013/10/28 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
2018/09/26 PHP
动态加载js和css(外部文件)
2013/04/17 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
2015/08/25 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
easyui validatebox验证
2016/04/29 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
Javascript基于OOP实实现探测器功能代码实例
2020/08/26 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
下载官网python并安装的步骤详解
2019/10/12 Python
Python如何使用函数做字典的值
2019/11/30 Python
Python实现一个论文下载器的过程
2021/01/18 Python
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
司法所长先进事迹
2014/06/02 职场文书
大学生简历求职信
2014/06/24 职场文书
合作协议书模板
2014/10/10 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
义诊活动通知
2015/04/24 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
四风之害观后感
2015/06/09 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python