Skip to content

Django - 环境设置

搭建一个合适的开发环境是构建 Django 应用至关重要的第一步。这包括安装 Python,使用 venv 设置项目环境,安装 Django 本身,以及可能需要数据库系统。

Django 是一个 Python 框架,因此你需要安装 Python。现代版本的 Django 需要 Python 3。请查看官方 Django 文档,了解你打算使用的 Django 版本(例如,Django 4.x 通常需要 Python 3.8+)所支持的特定 Python 3.x 版本。

大多数 Linux 发行版和 macOS 版本都预装了 Python 3。Windows 用户可能需要安装它。

打开你的终端或命令提示符并运行:

python --version
# or sometimes python3 --version

如果 Python 3 已安装,你将看到其版本号。如果未安装,或者你需要特定版本,请从官方 Python 网站下载:

重要: 在 Windows 上安装时,请务必勾选“Add Python to PATH”选项。

强烈建议使用虚拟环境来管理你的 Python 项目。虚拟环境将项目依赖项(如 Django 和其他库)与你的全局 Python 安装和其他项目隔离开来。

导航到你想创建项目的目录,然后运行:

# Linux/macOS
python3 -m venv venv
# Windows
python -m venv venv

这会创建一个名为 venv 的目录,其中包含一个 Python 解释器的副本以及一个用于安装项目特定库的位置。

在安装包或运行项目之前,你必须激活环境:

# Linux/macOS
source venv/bin/activate
# Windows (Command Prompt)
.\venv\Scripts\activate.bat
# Windows (PowerShell)
.\venv\Scripts\Activate.ps1
# Windows (Git Bash)
source venv/Scripts/activate

你的命令提示符应该改变以指示当前激活的环境(例如,(venv) your-user@machine:...$)。要解除激活,只需输入 deactivate。

在虚拟环境激活状态下,使用 Python 的包管理器 pip(venv 中已包含)安装 Django:

pip install django

此命令会在你当前激活的虚拟环境中下载并安装最新稳定版本的 Django 及其依赖项。

要安装特定版本:

pip install django==4.2.* # Installs the latest 4.2.x version

运行以下命令:

django-admin --version

如果 Django 在你当前激活的环境中正确安装,这将打印其版本号。

Django 需要一个数据库。默认情况下,它配置为使用 SQLite 3,它以单个文件的形式存储在你的项目目录中。SQLite 非常适合开发和小型应用,因为它不需要独立的服务器设置。

对于大型或生产环境应用,Django 官方支持几个主要的数据库引擎:

  • PostgreSQL: 通常推荐用于稳健的 Django 部署。
  • MySQL / MariaDB: 非常流行的开源数据库。
  • Oracle: 一个强大的商业数据库。
  • SQLite: 内置的、基于文件的,非常适合开发/测试。

要使用除 SQLite 之外的数据库,你需要:

  1. 安装数据库服务器本身。
  2. 在你的虚拟环境中安装相应的 Python 数据库适配器库(例如,PostgreSQL 用 pip install psycopg2-binary,MySQL 用 pip install mysqlclient)。
  3. 在你的 Django 项目的 settings.py 文件中配置 DATABASES 设置,填写连接详情(引擎、名称、用户、密码、主机、端口)。

对 NoSQL 数据库(如 MongoDB)的支持通过第三方库(例如 Djongo)实现,但它们不是 Django 核心框架的官方组成部分。

Django 包含一个轻量级的 Web 服务器,专用于开发和测试。当检测到代码更改时,它会自动重新加载你的 Python 代码,从而加快开发速度。

你在项目根目录(manage.py 所在位置)中运行它:

python manage.py runserver

这会启动服务器,通常在 http://127.0.0.1:8000/。

请记住: 此服务器仅用于开发。对于生产环境部署,你需要生产级配置,例如 Nginx 或 Apache 配合 WSGI 服务器(Gunicorn、uWSGI、mod_wsgi),这将在部署章节中讨论。