如何安装 Django¶
本文档将帮助你快速上手并运行 Django。
安装 Python¶
Django 是一个 Python Web 框架。详情请参阅 我可以使用哪些 Python 版本运行 Django?。
请访问 https://pythonlang.cn/downloads/ 或使用你操作系统的包管理器获取最新版本的 Python。
Windows 上的 Python
如果你刚开始接触 Django 并且使用 Windows,你可能会觉得 如何在 Windows 上安装 Django 很有帮助。
安装 Apache 和 mod_wsgi¶
如果你只是想尝试使用 Django,可以直接跳到下一节;Django 内置了一个轻量级的 Web 服务器可供测试使用,因此在准备将 Django 部署到生产环境之前,你无需配置 Apache。
如果你想在生产环境中使用 Django,请使用带有 mod_wsgi 的 Apache。mod_wsgi 有两种运行模式:嵌入模式(embedded mode)或守护进程模式(daemon mode)。在嵌入模式下,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 注意事项。
如果你使用的是 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 的推荐方式。
安装 pip。最简单的方法是使用 独立 pip 安装程序。如果你的发行版已经安装了
pip,如果它版本过旧,你可能需要更新它。如果版本过旧,你会发现安装无法正常工作。请查看 venv。此工具提供隔离的 Python 环境,这比在系统范围内安装软件包更实用。它还允许在没有管理员权限的情况下安装软件包。贡献指南教程 详细介绍了如何创建虚拟环境。
创建并激活虚拟环境后,输入命令
$ python -m pip install Django
...\> py -m pip install Django
安装特定发行版的软件包¶
检查 特定发行版注意事项,看看你的平台/发行版是否提供了官方 Django 软件包/安装程序。发行版提供的软件包通常允许自动安装依赖项和支持的升级路径;然而,这些软件包通常不会包含 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 将下载所有更改。