Django

Django

自带 ORM、迁移与后台管理的 Python 全栈 Web 框架

核心功能

Django 诞生于新闻编辑室的快节奏环境,目标是把数据库驱动型网站的常见工作做成开箱即用的组件。适合需要模型、后台管理、鉴权和模板一次配齐的内容站、管理系统和业务后台。

功能亮点

免写代码的数据 API

模型定义后自动获得查询 API,Article.objects.filter() 可跨关系 JOIN,无需代码生成

后台管理直接可用

在 admin.py 里 register 一行,就有可供员工或客户录入数据的生产级管理站点

干净的 URL 设计

URLconf 把地址与 Python 代码解耦,路径在加载时编译成正则,匹配开销很低

模板继承减少重复

base.html 定义整站骨架并留出 block,改一个文件即可完成整站改版

各层可替换

模型、视图、模板彼此解耦,不想用自带模板或数据库 API 时可以换成其他方案

适用场景

• 内容型网站与新闻资讯站,需要编辑后台快速录入和管理内容
• 企业内部管理系统,直接复用自带 admin 与鉴权省掉一套后台开发
• 数据库驱动的业务系统,用模型和迁移管理不断演进的表结构

安装配置

bash
官方推荐在虚拟环境中用 pip 安装正式版:
python -m pip install Django

Windows:
py -m pip install Django

验证安装:
python -m django --version

(可选)安装开发版:
git clone https://github.com/django/django.git
python -m pip install -e django/

注意:SQLite 已随 Python 提供,无需额外配置;改用 PostgreSQL 需装 psycopg,MySQL/MariaDB 需装 mysqlclient,Oracle 需装 oracledb。

使用方法

python
创建项目并启动开发服务器:
django-admin startproject mysite djangotutorial
cd djangotutorial
python manage.py runserver

创建一个应用:
python manage.py startapp polls

写第一个视图(polls/views.py):
from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

配置路由(polls/urls.py):
from django.urls import path

from . import views

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

建表:
python manage.py makemigrations
python manage.py migrate

关键指标

尚未核验对标产品,此处只列本工具自身指标,不做对比结论。

指标Django
价格免费
开源
上手难度进阶

相关工具

同类工具

优点

  • ORM、迁移、admin 后台、模板、缓存、订阅框架全部内置,建站不用先拼装一堆库
  • 模型注册到 admin 后立刻得到可用的管理界面,常见做法是先起后台让业务方录数据,再做前台展示
  • 模型、视图、模板三层解耦,不想用自带模板或数据库 API 时可以单独替换
  • URL 路径在加载时编译为正则并按顺序匹配,路由本身开销很小

缺点

  • 自带的 runserver 只是开发服务器,官方明确要求生产环境改用 WSGI/ASGI 服务器(如 mod_wsgi、uWSGI + nginx)
  • SQLite 之外的数据库需要另外安装对应 Python 驱动,并在 DATABASES 中补齐 USER、PASSWORD、HOST 等配置
  • 内置组件较多、约定较强,只做一个轻量 JSON 接口时会带上用不到的部分