核心功能
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 接口时会带上用不到的部分