如何安装 Django

本文档将帮助您使用 Django。

安装 Python

Django is a Python web framework. See 我应该使用哪个版本的 Python 来配合 Django? for details.

可以通过 https://www.python.org/downloads/ 或者操作系统的包管理工具获取最新版本的 Python。

Windows 上的 Python

如果您刚刚开始学习 Django 并且使用 Windows,查看 如何在 Windows 上安装 Django 可能对你有帮助。

安装 Apache 和 mod_wsgi

如果您只是想试验 Django,请跳到下一部分;Django 包含一个可用于测试的轻量级 Web 服务器,因此在准备好在生产环境中部署 Django 之前,您不需要设置 Apache。

If you want to use Django on a production site, use Apache with mod_wsgi. mod_wsgi operates in one of two modes: embedded mode or daemon mode. In embedded mode, mod_wsgi is similar to mod_perl -- it embeds Python within Apache and loads Python code into memory when the server starts. Code stays in memory throughout the life of an Apache process, which leads to significant performance gains over other server arrangements. In daemon mode, mod_wsgi spawns an independent daemon process that handles requests. The daemon process can run as a different user than the web server, possibly leading to improved security. The daemon process can be restarted without restarting the entire Apache web server, possibly making refreshing your codebase more seamless. Consult the mod_wsgi documentation to determine which mode is right for your setup. Make sure you have Apache installed with the mod_wsgi module activated. Django will work with any version of Apache that supports mod_wsgi.

若已安装 mod_wsgi 模块,请查看 Django 如何利用 mod_wsgi 工作 了解如何配置。

如果由于某种原因你不能使用 mod_wsgi,请不要担心: Django 支持许多其他部署选项。一个是 uWSGI ;它和 nginx 配合使用很好。此外,Django 遵循 WSGI 规范( PEP 3333 ),允许它在各种服务器平台上运行。

运行你的数据库

如果你打算使用 Django 的数据库 API 功能,你需要确保一个数据库服务器正在运行。Django 支持许多不同的数据库服务器,官方支持 PostgreSQLMariaDBMySQLOracleSQLite

如果你正在开发一个小项目或不打算在生产环境中部署的东西,SQLite 通常是最好的选择,因为它不需要运行一个单独的服务器。然而,SQLite 与其他数据库有许多不同之处,所以如果你正在开发一些实质性的东西,建议使用你计划在生产中使用的同一数据库进行开发。

除了官方支持的数据库,还有 第三方提供的后端 允许你在 Django 中使用其他数据库。

除了数据库后端,你还要确保安装了 Python 数据库绑定。

  • If you're using PostgreSQL, you'll need the psycopg or psycopg2 package. Refer to the PostgreSQL notes for further details.
  • 如果你正在使用 MySQL 或 MariaDB,则需要一个像 mysqlclient 一样的 DB API 驱动。 详细信息参见 MySQL 后端注意事项
  • 如果你正在使用 SQLite,则可能需要阅读 SQLite 后端笔记
  • If you're using Oracle, you'll need to install oracledb, but please read the notes for the Oracle backend for details regarding supported versions of both Oracle and oracledb.
  • 如果你使用的是非官方的第三方后端,请参阅提供的文档以了解任何其他要求。

如果你打算使用 Django 的 manage.py migrate 命令为你的模型自动创建数据库表(首先安装 Django 并创建项目后),你需要确保 Django 有权限在你使用的数据库中创建和修改表;如果你打算手动创建表,你可以授予 Django SELECTINSERTUPDATEDELETE 权限。创建具有这些权限的数据库用户后,你将在项目的配置文件中指定详细信息,详细信息参见 DATABASES

如果你正在使用 Django 的 测试框架 来测试数据库查询,Django 将需要创建测试数据库的权限。

安装 Django 源码

安装过程可能会有些许差异,这取决于你是否在安装一个发行版——某个特定的版本,下载最新的正式发布包,或获取最新的开发版本。

通过 pip 安装正式发布版本

以下是安装 Django 的推荐方式。

  1. 安装 pip。最简单的方式是使用 独立 pip 安装器。若你的系统早已安装 pip,你可能需要更新它,因为它可能过期了。如果它过期了,你会知道的,因为过期的用不了。

  2. 看一下 venv。这个工具提供了隔离的Python环境,比在系统内安装包更实用。它还允许在没有管理员权限的情况下安装包。贡献指南 介绍了如何创建一个虚拟环境。

  3. 在你已创建并激活一个虚拟环境后,输入以下命令:

    $ python -m pip install Django
    
    ...\> py -m pip install Django
    

安装特定发行版

查看 特定发行版注意事项 以查看你的平台/发行版是否提供了官方的 Django 软件包/安装程序。 发行版提供的软件包通常将允许自动安装依赖项和且易于升级; 但是,这些软件包很少包含最新版本的 Django。

安装开发版本

跟踪 Django 开发

如果你决定使用 Django 的最新开发版,你需要关注 开发版时间轴即将到来的新特性的发布说明。这将保证你能获取所有新特性和最新的代码。(对于稳定发布版,所有必要的修改都在发布说明中记录。)

如果你希望偶尔能获取最新的补丁和改进,遵循以下说明:

  1. 确保你已安装了 Git,这样你就可以从 shell 运行对应命令。(在 shell 中输入 git help 测试是否安装。)

  2. 像这样检出 Django 的主开发分支:

    $ git clone https://github.com/django/django.git
    
    ...\> git clone https://github.com/django/django.git
    

    这会在当前目录创建一个 django 目录。

  3. 确保 Python 解释器可以加载 Django 的代码。最方便的方法是使用虚拟环境和 pip贡献指南 简略介绍了如何创建虚拟环境。

  4. 设置并激活虚拟环境后,运行以下命令:

    $ python -m pip install -e django/
    
    ...\> py -m pip install -e django\
    

    这会让 Django 的代码可导入,使得 django-admin 命令行工具可用。换句话说,大事可为。

当你想更新你的 Django 源代码时,在 django 目录下运行 git pull 命令。当你这样做的时候,Git 会下载所有变更。