Django 简介
Django 是 Python 领域最成熟的 Web 框架之一,遵循'电池包含'理念。它内置了强大的 ORM、管理后台、认证系统及安全防护机制,能显著减少重复代码,让开发者专注于业务逻辑。
环境准备
确保已安装 Python 3.x 环境。访问 python.org 下载并安装,记得勾选 Add Python to PATH 以配置环境变量。随后通过 pip 安装 Django:
pip install django
验证安装:
python -m django --version
项目初始化
使用 django-admin 创建项目:
django-admin startproject myproject
进入项目目录后,启动开发服务器:
python manage.py runserver 0.0.0.0:8000
浏览器访问 http://127.0.0.1:8000 即可看到默认页面。
项目结构解析
生成的目录结构如下:
myproject/
├── manage.py # 命令行工具入口
└── myproject/ # 项目配置包
├── __init__.py
├── settings.py # 核心配置文件
├── urls.py # 路由分发
├── wsgi.py # WSGI 部署入口
└── asgi.py # ASGI 异步支持
settings.py 是项目的中枢,包含数据库、应用列表、静态文件路径等关键配置。生产环境中务必将 DEBUG 设为 False。
创建应用
一个项目可包含多个应用(App),用于划分业务模块。
python manage.py startapp blog
在 settings.py 的 INSTALLED_APPS 中添加 'blog'。
视图与路由
在 views.py 编写处理逻辑:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django!")
在 urls.py 绑定路径:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
模板系统
Django 采用 MTV 模式(Model-Template-View)。模板文件通常放在 templates 目录下。
在 settings.py 中配置 TEMPLATES 的 DIRS 指向模板目录。
变量渲染使用 {{ variable }},逻辑控制使用 {% tag %}。
例如:
<h1>{{ title }}</h1>
{% if user.is_authenticated %}
<p>Welcome, {{ user.username }}</p>
{% endif %}
常用过滤器包括 |lower(小写)、|date(日期格式化)、|default(默认值)等。
数据库与 ORM
Django 内置 ORM,无需手写 SQL 即可操作数据库。
默认使用 SQLite,生产环境建议切换至 PostgreSQL 或 MySQL。
若使用 MySQL,需在 settings.py 修改 DATABASES 配置,并在项目根目录的 __init__.py 中引入 pymysql:
import pymysql
pymysql.install_as_MySQLdb()
定义模型(Model):
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
生成并应用迁移:
python manage.py makemigrations
python manage.py migrate
数据操作示例:
# 新增
Article.objects.create(title="New Post")
# 查询
articles = Article.objects.all()
# 更新
article.title = "Updated Title"
article.save()
# 删除
article.delete()
常用命令速查
| 命令 | 说明 |
|---|---|
startproject | 创建新项目 |
startapp | 创建新应用 |
runserver | 启动开发服务 |
makemigrations | 生成迁移文件 |
migrate | 应用数据库迁移 |
createsuperuser | 创建管理员账号 |
shell | 进入交互式 Shell |
test | 运行单元测试 |
最佳实践
- 分离项目与应用:保持 App 独立性,便于复用。
- 环境区分:开发环境与生产环境使用不同的
settings文件。 - 静态文件:开发时使用
STATICFILES_DIRS,生产环境配合collectstatic收集。 - URL 设计:在应用层定义路由,项目层统一分发。


