☰
教你安装python Django(图文)
2026/10/30 5:09:38 网站建设 项目流程

前言


Django 是一个用 Python 写的 Web 框架,属于第三方项目,不是 Python 标准库。它自带对象关系映射、后台管理、路由、模板等功能,是很多 Python Web 项目的起点。安装 Django 本身只要一条 pip 命令,但「装完之后怎么把项目跑起来」还有几步标准的脚手架命令。


本文讲清完整流程:装 Django、用django-admin创建项目、用manage.py启动开发服务器、再建一个应用。同时会强调在虚拟环境里安装这个习惯,因为 Django 项目对版本很敏感。


需要声明:本机没有 Python、没有 pip,也没有 Django,本文的所有命令与代码都无法在本环境实际执行,都是按 Django 官方文档整理的写法,请以 Django 官方文档为准。本文不声称任何命令已被执行,也不提供任何执行输出。


一、安装前的准备


Django 对 Python 版本有要求,新版本往往要求较新的 Python。所以顺序是:



  1. 确认 Python 版本:python --version。

  2. 建虚拟环境:python -m venv venv,激活它。

  3. 在虚拟环境里安装 Django。

  4. 验证。


为什么不直接全局装?因为 Django 项目通常依赖特定的 Django 大版本,同时还有一堆第三方应用也对版本有要求。虚拟环境能让不同项目各用各的版本,互不干扰。


还有一点常被忽略:Django 的版本要和你项目里其他依赖一起考虑。生态里有很多第三方应用,各自声明支持的 Django 版本区间。合理的顺序是:先确定要用哪些第三方应用,看它们的版本要求,再倒推出该装哪个 Django 版本。这比「先随便装个最新版」要少踩很多坑。


# 适用于 Python 3.8+(venv 是 3.3+ 自带的模块)
python -m venv venv

# Linux / macOS 激活
source venv/bin/activate

# Windows 激活(cmd)
venv\Scripts\activate.bat

激活后安装:


# 适用于任意已安装 pip 的 Python 3
python -m pip install django

验证是否装好:


# 适用于任意已安装 pip 的 Python 3
python -m django --version

用python -m django而不是直接敲django-admin,理由和 pip 一样:明确用哪个解释器,避免装到别处却浑然不觉。


也可以装指定版本:


# 适用于任意已安装 pip 的 Python 3
python -m pip install "django==4.2"

具体支持哪些版本、哪个 Python 版本配哪个 Django 版本,以 Django 官方文档的版本支持说明为准。


二、创建项目:startproject


装好之后,用django-admin的一系列子命令来生成项目骨架。最常用的两个是startproject和startapp。


# 适用于任意已安装 Django 的环境
django-admin startproject mysite

这会创建一个名为mysite的项目目录,里面有一个manage.py和一个同名的包目录(存放项目级配置,比如设置、路由入口、部署配置等)。




命令作用



django-admin startproject 名字新建一个项目骨架

python manage.py startapp 名字在项目里新建一个应用

python manage.py runserver启动开发用服务器

python manage.py migrate应用数据库迁移

python manage.py createsuperuser创建后台管理员账号



Django 里「项目(project)」和「应用(app)」是两层概念:一个项目可以包含多个应用,每个应用负责一块相对独立的功能。这个划分方式在官方教程里有详细说明。


django-admin是安装 Django 后提供的全局命令,manage.py则是每个项目自带的入口脚本。两者的子命令大多重合,差别在于manage.py会自动把项目目录纳入模块搜索路径并加载该项目的设置。因此「新建项目」这类发生在项目之外的操作适合用django-admin,项目内部的管理操作统一走manage.py。动手改配置之前,还可以先跑一次自检命令python manage.py check,它会检查项目设置与模型是否存在明显问题。


三、启动开发服务器:runserver


进入项目目录后,用manage.py启动:


# 适用于任意已安装 Django 的环境
cd mysite
python manage.py runserver

runserver启动的是开发用的轻量服务器,方便本地调试,官方文档明确说明它不适合生产环境。生产部署要用真正的应用服务器,以官方部署文档为准。


默认情况下它会监听本机的一个端口。如果端口被占用,可以在命令后面指定端口。启动成功后,用浏览器打开本机地址就能看到欢迎页。


在正式使用数据库功能前,通常还要执行一次迁移:


# 适用于任意已安装 Django 的环境
python manage.py migrate

然后创建后台管理员:


# 适用于任意已安装 Django 的环境
python manage.py createsuperuser

如果只是想确认开发服务器能起来、暂时不碰数据,也可以先跳过迁移直接runserver;但一旦要用到数据库相关的功能(后台、会话等),就必须先完成迁移。另外,开发服务器的自动重载只在开发模式下有意义,部署时应当关掉。


四、一个最小的视图示例


下面这个例子展示视图函数的最小写法,用于理解路由与视图的关系。它需要放进某个应用里并在路由中登记。


# 适用于 Python 3.8+(需要已安装 Django)
from django.http import HttpResponse


def hello(request):
return HttpResponse("Hello, Django")

路由文件负责把 URL 映射到视图:


# 适用于 Python 3.8+(需要已安装 Django)
from django.urls import path
from . import views

urlpatterns = [
path("hello/", views.hello, name="hello"),
]

path的第一个参数是路径模式,第二个是视图函数,name是给这条路由起的名字,便于在别处反向引用。具体参数含义以官方文档为准。开发时改完代码,runserver会自动重载,不需要重启。


常见坑点


1. 全局安装 Django。



  • ❌ 直接pip install django,多个项目共用同一个版本,升级即翻车。

  • ✅ 每个项目建虚拟环境,在环境内安装。


2. 命令装到了另一个解释器。



  • ❌ 用裸pip安装,结果运行的python是另一份,import django失败。

  • ✅ 统一用python -m pip install,验证时用python -m django --version。


3. 忘记先迁移数据库。



  • ❌ 直接runserver后访问后台,报数据库表不存在。

  • ✅ 先执行python manage.py migrate。


4. 把runserver用于生产。



  • ❌ 以为开发服务器可以直接对外提供服务。

  • ✅ 它只用于开发调试,生产部署按官方部署文档来。


5. 用老版本 Python 配新版本 Django。



  • ❌ 环境里的 Python 太旧,安装时提示不满足版本要求。

  • ✅ 先看官方版本支持说明,必要时升级 Python。


6. 在项目根目录之外执行manage.py。



  • ❌ 在别处敲python manage.py runserver,找不到文件。

  • ✅ 先进入含manage.py的项目目录再执行。


7. 混淆「项目」和「应用」。



  • ❌ 把所有代码都写进项目配置包里,结构混乱。

  • ✅ 用startapp建应用,每个应用承担一块功能。


8. 后台超级用户忘了之前设的密码。



  • ❌ 想不起密码就不停重试。

  • ✅ 用createsuperuser重新建账号,或用 Django 提供的改密命令处理。


总结




步骤命令



建环境python -m venv venv并激活

安装python -m pip install django

验证python -m django --version

建项目django-admin startproject 名字

建应用python manage.py startapp 名字

迁移python manage.py migrate

启动python manage.py runserver



Django 的安装与启动是一条固定的流水线:虚拟环境里装包、startproject生成骨架、manage.py驱动日常命令。把这条线上的每一步都做扎实,尤其是「在虚拟环境里、用python -m调用」,后面开发时就能少掉很多莫名其妙的环境问题。涉及具体版本与部署细节,一律以 Django 官方文档为准。




需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询