这会儿,你可以使用 django 写 web 应用了,因为 django 只要求 python 正确安装后就可以跑起来了。不过,当你想开发一个数据库驱动的 web 站点时,你应当需要配置一个数据库服务器。
如果你只想玩一下,可以不配置数据库,直接跳到 开始一个 project 部分去,不过你要注意本书的例子都是假设你配置好了一个正常工作的数据库。
Django支持四种数据库:
PostgreSQL (http://www.postgresql.org/)
SQLite 3 (http://www.sqlite.org/)
MySQL (http://www.mysql.com/)
Oracle (http://www.oracle.com/)
大部分情况下,这四种数据库都会和 Django 框架很好的工作。(一个值得注意的例外是 Django 的可选 GIS 支持,它为 PostgreSQL 提供了强大的功能。)如果你不准备使用一些老旧系统,而且可以自由的选择数据库后端,我们推荐你使用 PostgreSQL,它在成本、特性、速度和稳定性方面都做的比较平衡。
设置数据库只需要两步:
首先,你需要安装和配置数据库服务器本身。 这个过程超出了本书的内容,不过这四种数据库后端在它的网站上都有丰富的文档说明。 如果你使用的是共享主机,可能它们已经为你设置好了。
其次,你需要为你的服务器后端安装必要的 Python 库。这是一些允许 Python 连接数据库的第三方代码。 我们会在之后的章节简要介绍,对于某一种数据库来说,它单独需要安装的东西。
如果你只是玩一下,不想安装数据库服务,那么可以考虑使用 SQLite。如果你用 python 3.6 或更高版本的话,SQLite 是唯一一个被支持的且不需要以上安装步骤的数据库。 它仅对你的文件系统中的单一文件读写数据,并且 python 3.6 和以后版本内建了对它的支持。
在 Windows 上,取得数据库驱动程序可能会令人沮丧。如果你急着用它,我们建议你使用 python 3.6 以后的版本。
使用 PostgreSQL 的话,你需要从 http://www.djangoproject.com/r/python-pgsql/ 下载 psycopg
这个开发包。我们建议使用psycopg2
,因为它是新的,开发比较积极,且更容易安装。 留意你所用的是 版本 1 还是 2,稍后你会需要这项信息。
如果在 Windows 平台上使用 PostgreSQL,可以从 http://www.djangoproject.com/r/python-pgsql/windows/
获取预编译的 psycopg
开发包的二进制文件。
如果你在用 Linux,检查你的发行版的软件包管理系统是否提供了一套叫做 python-psycopg2,psycopg2-python,python-postgresql 这类名字的包。
如果你正在使用 Python 3.6 版本或者更高,那么你很幸运: 不要求安装特定的数据库,因为 Python 支持和 SQLite 进行通信。向前跳到下一节。
如果你用的是 python 3.4 或更早的版本,你需要 SQLite 3而不是版本 2,这个可从http://www.djangoproject.com/r/sqlite/pysqlite
http://www.djangoproject.com/r/python-sqlite/
确认一下你的pysqlite
版本是 2.0.3 或者更高。
在 Windows 平台上,可以跳过单独的 SQLite 二进制包安装工作,因为它们已被静态链接到 pysqlite
二进制开发包中。
如果你在用 Linux,检查你的发行版的软件包管理系统是否提供了一套叫做 python-sqlite3,sqlite-python,pysqlite这类名字的包。
django 要求 MySQL4.0 或更高的版本。在此,我们建议你使用目前比较稳定且企业使用最多的版本 MySQL 5.6.x 或 MySQL 5.7.x 版本。
你还需要安装 pymysql 模块,使用安装命令: pip install pymysql
即可(如果你的 django
安装在虚拟环境下,别忘记激活虚拟环境后安装 pymysql)。在本教程的模型一章中,我们会给大家详细讲解如何使用数据库。
django 需要 Oracle9i 或更高版本。
如果你用 Oracle,你需要安装cx_Oracle
库,可以从http://cx-oracle.sourceforge.net/获得。
要用 4.3.1 或更高版本,但要避开 5.0,这是因为这个版本的驱动有 bug。
正如之前提及过的,Django 并不是非得要数据库才可以运行。 如果只用它提供一些不涉及数据库的动态页面服务,也同样可以完美运行。
尽管如此,还是要记住:
Django 所捆绑的一些附加工具 一定 需要数据库,因此如果选择不使用数据库,你将不能使用那些功能。 (我们将在本书中自始至终强调这些功能)