欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-06 21:13:11
...
记住这些理念之后,让我们来开始 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框架中的数据库配置指南

相关标签: Django 数据库

上一篇: Python-Virtualenv

下一篇: HTML的标签 </a> </p> </div> <div class="wz_tuijian"> <p> 推荐阅读 </p> <ul> <li> <a href="/article/2137515.html" target="_blank" title="Python的Flask框架中SQLAlchemy使用时的乱码问题解决"> <h2> Python的Flask框架中SQLAlchemy使用时的乱码问题解决 </h2> </a> </li> <li> <a href="/article/2137544.html" target="_blank" title="Python的Flask框架中配置多个子域名的方法讲解"> <h2> Python的Flask框架中配置多个子域名的方法讲解 </h2> </a> </li> <li> <a href="/article/2134412.html" target="_blank" title="python中django框架通过正则搜索页面上email地址的方法"> <h2> python中django框架通过正则搜索页面上email地址的方法 </h2> </a> </li> <li> <a href="/article/2133839.html" target="_blank" title="用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化"> <h2> 用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化 </h2> </a> </li> <li> <a href="/article/2133777.html" target="_blank" title="Python的Django框架中的select_related函数对QuerySet 查询的优化"> <h2> Python的Django框架中的select_related函数对QuerySet 查询的优化 </h2> </a> </li> <li> <a href="/article/2129889.html" target="_blank" title="在Windows平台的Apache中配置Python"> <h2> 在Windows平台的Apache中配置Python </h2> </a> </li> <li> <a href="/article/2120513.html" target="_blank" title="用Python的Django框架完成视频处理任务的教程"> <h2> 用Python的Django框架完成视频处理任务的教程 </h2> </a> </li> <li> <a href="/article/2117326.html" target="_blank" title="Python的Django框架安装全攻略"> <h2> Python的Django框架安装全攻略 </h2> </a> </li> <li> <a href="/article/2117401.html" target="_blank" title="详解Python的Django框架中的模版相关知识"> <h2> 详解Python的Django框架中的模版相关知识 </h2> </a> </li> <li> <a href="/article/2117265.html" target="_blank" title="Python的Django框架可适配的各种数据库介绍"> <h2> Python的Django框架可适配的各种数据库介绍 </h2> </a> </li> </ul> </div> </article> </div> </main> <footer><div class="box"><div class="ft_nav"><div class="ft_about"><p>关于网站</p><ul><li><a href="/sitemap.xml" target="_blank" title="网站地图">网站地图</a></li><li><a href="/list/2/" title="最新程序员文章站">最新程序员文章站</a></li></ul></div><div class="ft_contact"><ul><li>本站所有数据收集于网络如有侵犯到您的权益,请联系我们进行下架处理。</li><li class="email_show"></li></ul></div></div><div class="copyright"><div class="cr_left"><p> 备案号:<a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank">粤ICP备20058927号</a></p><p>© Copyright © 2020-2022 www.superweb999.com 程序员文章站. </p></div></div></div></footer> </body> </html>