如何安装 Django¶
本文档将帮助您使用 Django。
安装 Python¶
Django 是一个用于 Python 的网络框架。有关详细信息,请参阅 我应该使用哪个版本的 Python 来配合 Django?。
可以通过 https://www.python.org/downloads/ 或者操作系统的包管理工具获取最新版本的 Python。
Windows 上的 Python
如果您刚刚开始学习 Django 并且使用 Windows,查看 如何在 Windows 上安装 Django 可能对你有帮助。
安装 Apache 和 mod_wsgi
¶
如果您只是想试验 Django,请跳到下一部分;Django 包含一个可用于测试的轻量级 Web 服务器,因此在准备好在生产环境中部署 Django 之前,您不需要设置 Apache。
如果您想在生产站点上使用 Django,请使用 Apache 与 mod_wsgi。mod_wsgi 有两种模式:嵌入模式和守护模式。在嵌入模式下,mod_wsgi 类似于 mod_perl -- 它将 Python 嵌入到 Apache 中,并在服务器启动时将 Python 代码加载到内存中。代码在整个 Apache 进程的生命周期内保持在内存中,这会比其他服务器配置方式带来显著的性能提升。在守护模式下,mod_wsgi 会生成一个独立的守护进程来处理请求。守护进程可以以与 Web 服务器不同的用户身份运行,从而可能提高安全性。守护进程可以在不重新启动整个 Apache Web 服务器的情况下重新启动,从而可能使代码库的刷新更加无缝。请参考 mod_wsgi 文档以确定哪种模式适合您的设置。确保已安装 Apache 并启用了 mod_wsgi 模块。Django 将与支持 mod_wsgi 的任何版本的 Apache 配合使用。
若已安装 mod_wsgi 模块,请查看 Django 如何利用 mod_wsgi 工作 了解如何配置。
如果由于某种原因你不能使用 mod_wsgi,请不要担心: Django 支持许多其他部署选项。一个是 uWSGI ;它和 nginx 配合使用很好。此外,Django 遵循 WSGI 规范( PEP 3333 ),允许它在各种服务器平台上运行。
运行你的数据库¶
如果你打算使用 Django 的数据库 API 功能,你需要确保一个数据库服务器正在运行。Django 支持许多不同的数据库服务器,官方支持 PostgreSQL、MariaDB、MySQL、Oracle 和 SQLite。
如果你正在开发一个小项目或不打算在生产环境中部署的东西,SQLite 通常是最好的选择,因为它不需要运行一个单独的服务器。然而,SQLite 与其他数据库有许多不同之处,所以如果你正在开发一些实质性的东西,建议使用你计划在生产中使用的同一数据库进行开发。
除了官方支持的数据库,还有 第三方提供的后端 允许你在 Django 中使用其他数据库。
To use another database other than SQLite, you'll need to make sure that the appropriate Python database bindings are installed:
如果您使用 PostgreSQL,您将需要 psycopg 或 psycopg2 包。有关更多详细信息,请参阅 PostgreSQL notes。
如果你正在使用 MySQL 或 MariaDB,则需要一个像
mysqlclient
一样的 DB API 驱动。 详细信息参见 MySQL 后端注意事项。如果你正在使用 SQLite,则可能需要阅读 SQLite 后端笔记 。
如果你使用的是 Oracle,你需要安装 oracledb,但请阅读 Oracle 后端的说明 以了解有关支持的 Oracle 版本和
oracledb
的详细信息。如果你使用的是非官方的第三方后端,请参阅提供的文档以了解任何其他要求。
And ensure that the following keys in the 'default'
item of the
DATABASES
dictionary match your database connection settings:
ENGINE
-- 可选值有'django.db.backends.sqlite3'
,'django.db.backends.postgresql'
,'django.db.backends.mysql'
,或'django.db.backends.oracle'
。其它 可用后端。NAME
-- The name of your database. If you’re using SQLite, the database will be a file on your computer. In that case,NAME
should be the full absolute path, including the filename of that file. You don’t need to create anything beforehand; the database file will be created automatically when needed. The default value,BASE_DIR / 'db.sqlite3'
, will store the file in your project directory.
SQLite 以外的其它数据库
如果你不使用 SQLite,则必须添加一些额外设置,比如 USER
、 PASSWORD
、 HOST
等等。想了解更多数据库设置方面的内容,请看文档:DATABASES
。
Also, make sure that you've created the database by this point. Do that
with "CREATE DATABASE database_name;
" within your database's
interactive prompt.
如果你打算使用 Django 的 manage.py migrate
命令为你的模型自动创建数据库表(首先安装 Django 并创建项目后),你需要确保 Django 有权限在你使用的数据库中创建和修改表;如果你打算手动创建表,你可以授予 Django SELECT
、INSERT
、UPDATE
和 DELETE
权限。创建具有这些权限的数据库用户后,你将在项目的配置文件中指定详细信息,详细信息参见 DATABASES
。
如果你正在使用 Django 的 测试框架 来测试数据库查询,Django 将需要创建测试数据库的权限。
安装 Django 源码¶
安装过程可能会有些许差异,这取决于你是否在安装一个发行版——某个特定的版本,下载最新的正式发布包,或获取最新的开发版本。
通过 pip
安装正式发布版本¶
以下是安装 Django 的推荐方式。
安装 pip。最简单的方式是使用 独立 pip 安装器。若你的系统早已安装
pip
,你可能需要更新它,因为它可能过期了。如果它过期了,你会知道的,因为过期的用不了。看一下 venv。这个工具提供了隔离的Python环境,比在系统内安装包更实用。它还允许在没有管理员权限的情况下安装包。贡献指南 介绍了如何创建一个虚拟环境。
在你已创建并激活一个虚拟环境后,输入以下命令:
$ python -m pip install Django
...\> py -m pip install Django
安装特定发行版¶
查看 特定发行版注意事项 以查看你的平台/发行版是否提供了官方的 Django 软件包/安装程序。 发行版提供的软件包通常将允许自动安装依赖项和且易于升级; 但是,这些软件包很少包含最新版本的 Django。
安装开发版本¶
跟踪 Django 开发
如果你决定使用 Django 的最新开发版,你需要关注 开发版时间轴 和 即将到来的新特性的发布说明。这将保证你能获取所有新特性和最新的代码。(对于稳定发布版,所有必要的修改都在发布说明中记录。)
如果你希望偶尔能获取最新的补丁和改进,遵循以下说明:
确保你已安装了 Git,这样你就可以从 shell 运行对应命令。(在 shell 中输入
git help
测试是否安装。)像这样检出 Django 的主开发分支:
$ git clone https://github.com/django/django.git
...\> git clone https://github.com/django/django.git
这会在当前目录创建一个
django
目录。确保 Python 解释器可以加载 Django 的代码。最方便的方法是使用虚拟环境和 pip。 贡献指南 简略介绍了如何创建虚拟环境。
设置并激活虚拟环境后,运行以下命令:
$ python -m pip install -e django/
...\> py -m pip install -e django\
这会让 Django 的代码可导入,使得
django-admin
命令行工具可用。换句话说,大事可为。
当你想更新你的 Django 源代码时,在 django
目录下运行 git pull
命令。当你这样做的时候,Git 会下载所有变更。