Django路由系统、视图、模板、ORM模型层全实战

Django路由系统、视图、模板、ORM模型层全实战

博客导语

搭建完项目后,核心开发就是路由分发、视图逻辑、页面渲染、数据库操作。本文串联Django四大核心功能,从路由配置、视图请求处理、模板渲染,到ORM模型映射、数据库迁移、增删改查,完整打通Django业务开发全流程。


一、Django路由系统详解

1. 基础静态路由

项目主urls.py配置:

from django.contrib import admin from django.urls import path from myapp.views import index urlpatterns = [ path('admin/', admin.site.urls), path('', index), # 根路由绑定视图函数 ]

2. 动态路由传参

# 路由配置 path('user/<int:uid>/', user_detail) # 视图接收参数 def user_detail(request, uid): return HttpResponse(f"用户ID:{uid}")

二、视图函数与请求响应

from django.shortcuts import render from django.http import HttpResponse # 基础视图 def index(request): # 返回文本 # return HttpResponse("Django首页") # 渲染模板并传参 return render(request, "index.html", {"name":"Django"})

三、模板渲染配置

在app目录下创建templates文件夹,新建html文件,Django自动识别,模板语法与Jinja2基本一致,支持变量、循环、判断。


四、ORM模型层核心实战(重点)

Django ORM 无需手写SQL,通过类定义数据表,自动映射数据库,支持全自动迁移。

1. 定义模型(models.py)

from django.db import models # 用户模型类,自动映射为数据表 class User(models.Model): name = models.CharField(max_length=30, verbose_name="用户名") age = models.IntegerField(default=18, verbose_name="年龄") create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间") class Meta: verbose_name = "用户表"

2. 数据库迁移命令(核心必记)

# 1. 生成迁移文件 python manage.py makemigrations # 2. 执行迁移,创建/更新数据表 python manage.py migrate

3. ORM增删改查实战

# 新增数据 User.objects.create(name="李四", age=22) # 查询所有数据 user_list = User.objects.all() # 条件查询 user = User.objects.filter(name="李四").first() # 修改数据 user.age = 25 user.save() # 删除数据 user.delete()

五、开发流程总结

定义模型→数据迁移→配置路由→编写视图→渲染模板,是Django标准业务开发流程。