# Django 5.2.8 documentation

# 如何安装 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 中使用其他数据库。

要使用 SQLite 以外的其他数据库，你需要确保安装了适当的 Python 数据库绑定：

- 如果您使用 PostgreSQL，您将需要 psycopg 或 psycopg2 包。有关更多详细信息，请参阅 PostgreSQL notes。

- 如果你正在使用 MySQL 或 MariaDB，则需要一个像 `mysqlclient` 一样的 DB API 驱动。 详细信息参见 MySQL 后端注意事项。

- 如果你正在使用 SQLite，则可能需要阅读 SQLite 后端笔记 。

- 如果你使用的是 Oracle，你需要安装 oracledb，但请阅读 Oracle 后端的说明 以了解有关支持的 Oracle 版本和 `oracledb` 的详细信息。

- 如果你使用的是非官方的第三方后端，请参阅提供的文档以了解任何其他要求。

并确保 `DATABASES` 字典中 `'default'` 项的以下键与你的数据库连接设置匹配：

- `ENGINE` -- 可选值有 `'django.db.backends.sqlite3'`，`'django.db.backends.postgresql'`，`'django.db.backends.mysql'`，或 `'django.db.backends.oracle'`。其它 可用后端。

- `NAME` —— 你的数据库名称。如果你使用 SQLite，数据库将是计算机上的一个文件。在这种情况下，`NAME` 应该是该文件的完整绝对路径，包括文件名。你不需要预先创建任何内容；数据库文件将在需要时自动创建。默认值 `BASE_DIR / 'db.sqlite3'` 会将文件存储在项目目录中。

SQLite 以外的其它数据库

如果你不使用 SQLite，则必须添加一些额外设置，比如 `USER` 、 `PASSWORD` 、 `HOST` 等等。想了解更多数据库设置方面的内容，请看文档：`DATABASES` 。

此外，确保此时你已经创建了数据库。在数据库的交互式提示符中使用 "`CREATE DATABASE database_name;`" 来完成此操作。

如果你打算使用 Django 的 `manage.py migrate` 命令为你的模型自动创建数据库表（首先安装 Django 并创建项目后），你需要确保 Django 有权限在你使用的数据库中创建和修改表；如果你打算手动创建表，你可以授予 Django `SELECT`、`INSERT`、`UPDATE` 和 `DELETE` 权限。创建具有这些权限的数据库用户后，你将在项目的配置文件中指定详细信息，详细信息参见 `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 会下载所有变更。