Django 是一个遵循“MTV”(Model-Template-View)架构的全栈 Python Web 框架,主打“开箱即用”,内置了 ORM、表单验证、用户认证、管理后台等功能,适合快速开发复杂的 Web 应用。以下是 Django 的核心使用步骤:
一、环境准备
- 安装 Django
pip install django # 安装最新版 # 或指定版本:pip install django==4.2 (LTS版更稳定) - 验证安装
django-admin --version # 显示版本号则安装成功
二、创建 Django 项目
- 初始化项目
django-admin startproject mysite # "mysite"是项目名,可自定义生成的目录结构:
mysite/ ├── manage.py # 项目管理工具(启动服务、创建APP等) └── mysite/ # 项目核心配置目录 ├── __init__.py ├── settings.py # 全局配置(数据库、应用、中间件等) ├── urls.py # URL路由(映射URL到视图) ├── asgi.py # 异步部署入口 └── wsgi.py # 同步部署入口 - 启动开发服务器
cd mysite # 进入项目目录 python manage.py runserver # 默认启动:http://127.0.0.1:8000/ # 自定义端口:python manage.py runserver 8080访问
http://127.0.0.1:8000/,看到 Django 的欢迎页面即成功。
三、创建应用(APP)
Django 项目由多个应用(APP)组成,每个 APP 负责一个功能模块(如用户管理、博客文章)。
- 创建 APP
python manage.py startapp blog # "blog"是APP名,对应博客功能生成的 APP 目录:
blog/ ├── migrations/ # 数据库迁移文件(ORM自动生成) ├── __init__.py ├── admin.py # 管理后台配置 ├── apps.py # APP配置 ├── models.py # 数据模型(对应数据库表) ├── tests.py # 测试代码 └── views.py # 视图函数(处理请求、返回响应) - 注册 APP
打开mysite/settings.py,在INSTALLED_APPS中添加新建的 APP:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', ..., 'blog', # 注册blog应用 ]
四、核心开发流程(以博客为例)
1. 定义数据模型(Model)
在 blog/models.py 中定义数据库表结构(Django ORM 无需写 SQL):
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=100) # 标题(字符串)
content = models.TextField() # 内容(长文本)
create_time = models.DateTimeField(auto_now_add=True) # 创建时间(自动填充)
def __str__(self):
return self.title # 后台显示标题
- 数据库迁移
将模型同步到数据库(Django 默认用 SQLite,无需额外配置):python manage.py makemigrations # 生成迁移文件(记录模型变化) python manage.py migrate # 执行迁移(创建数据库表)
3. 编写视图(View)
在 blog/views.py 中处理请求,返回数据或页面:
from django.shortcuts import render
from .models import Article
def article_list(request):
articles = Article.objects.all() # 查询所有文章
return render(request, 'blog/article_list.html', {'articles': articles})
4. 配置 URL 路由
- 项目级路由(
mysite/urls.py):from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), # 管理后台URL path('blog/', include('blog.urls')), # 转发blog相关URL到APP的urls.py ] - APP 级路由(需在
blog目录下新建urls.py):from django.urls import path from . import views urlpatterns = [ path('articles/', views.article_list), # 映射/blog/articles/到article_list视图 ]
5. 创建模板(Template)
在 blog 目录下新建 templates/blog/article_list.html(模板文件):
<!DOCTYPE html>
<html>
<head>
<title>文章列表</title>
</head>
<body>
<h1>博客文章</h1>
</body>
</html>
五、使用管理后台
Django 内置强大的管理后台,无需手动开发 CRUD 功能:
- 创建超级用户
python manage.py createsuperuser # 按提示输入用户名、邮箱、密码 - 注册模型到后台
在blog/admin.py中注册模型:from django.contrib import admin from .models import Article admin.site.register(Article) # 注册Article模型 - 访问管理后台
启动服务器后,访问http://127.0.0.1:8000/admin/,用超级用户登录,即可对Article进行增删改查。
六、核心功能扩展
- 用户认证:Django 内置
auth模块,支持注册、登录、权限控制(无需自己写); - 表单处理:用
django.forms快速生成表单并验证数据; - 静态文件:配置
STATIC_URL管理 CSS/JS/图片; - 数据库切换:在
settings.py中修改DATABASES,支持 MySQL、PostgreSQL 等。
总结
Django 的核心流程是:定义模型(Model)→ 编写视图(View)→ 配置 URL → 创建模板(Template),利用其内置功能可快速搭建完整的 Web 应用。如果需要具体场景(如接口开发、用户登录)的教程,可以告诉我,我会补充细节~
PREVIOUS基于Django + Vue 的术士之战游戏
NEXTJavaScript