如何安装 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,请使用 Apachemod_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 支持许多不同的数据库服务器,官方支持 PostgreSQLMariaDBMySQLOracleSQLite

如果你正在开发一个小项目或不打算在生产环境中部署的东西,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,您将需要 psycopgpsycopg2 包。有关更多详细信息,请参阅 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 — Either 'django.db.backends.sqlite3', 'django.db.backends.postgresql', 'django.db.backends.mysql', or 'django.db.backends.oracle'. Other backends are also available.
  • 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.

For databases other than SQLite

If you are not using SQLite as your database, additional settings such as USER, PASSWORD, and HOST must be added. For more details, see the reference documentation for 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 SELECTINSERTUPDATEDELETE 权限。创建具有这些权限的数据库用户后,你将在项目的配置文件中指定详细信息,详细信息参见 DATABASES

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

安装 Django 源码

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

通过 pip 安装正式发布版本

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

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

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

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

    Linux/MacOS     Windows

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

安装特定发行版

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

安装开发版本

跟踪 Django 开发

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

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

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

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

    Linux/MacOS     Windows

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

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

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

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

    Linux/MacOS     Windows

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

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

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