当前位置: 首页 > news >正文

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标准业务开发流程。

http://www.jsqmd.com/news/1052164/

相关文章:

  • NoSleep:你的Windows防休眠终极解决方案,告别意外锁屏烦恼
  • 2026巴中漏水检测维修本地口碑防水商家榜单:厨卫/阳台/屋面/地下室渗漏水维修,持证施工+明码实价,防水补漏公司TOP5推荐 - 即刻修防水
  • 3分钟解锁QQ音乐加密文件:macOS用户的音乐自由指南
  • 进化式AI代码生成:策略基因与经验表示驱动的持续学习框架
  • Hermes 上手指南:把学习路线变成作品集
  • DDrawCompat完整指南:让经典DirectX游戏在现代Windows上流畅运行的终极解决方案
  • 终极AMD Ryzen调试工具:SMU Debug Tool完整使用指南
  • 2026年当下,广州刑事诉讼律师咨询谁好?这份深度分析给你答案 - 品牌鉴赏官2026
  • 2026年当前,东莞公寓装修如何选择?一份详实的服务商甄选与能力解析 - 品牌鉴赏官2026
  • 刚装完200平大户型,聊聊功能沙发和全屋软体家具选哪家靠谱 - 深圳市民HLL
  • 基于LLM的智能表格数据处理系统:Pneuma-Seeker的设计与实现
  • Steam游戏自动破解实战:三分钟掌握SteamAutoCrack完整使用指南
  • Vue时间轴组件技术深度解析与应用指南
  • 2026年6月容桂正规收酒店铺选择指南:关键维度解析与服务商深度剖析 - 品牌鉴赏官2026
  • 2026梧田街道空调拆装口碑推荐榜单 - 品牌排行榜
  • Ubuntu 16.04下Roundcube全链路安全加固实战
  • 无名杀游戏扩展终极配置指南:打造个性化三国战场
  • 《2026年淘宝/京东商品详情爬虫实战:多端适配与反爬突破指南》
  • HRM-LM:基于层次化迭代与权重共享的高效Transformer架构解析
  • mTLS部署实战:从证书管理到可用性优化的工程实践
  • Ubuntu 16.04 安装 Node.js 的三种方案深度对比与生产落地
  • 2026岳阳漏水检测维修本地口碑防水商家榜单:厨卫/阳台/屋面/地下室渗漏水维修,持证施工+明码实价,防水补漏公司TOP5推荐 - 即刻修防水
  • Ubuntu 20.04 Node.js 安装避坑指南:NodeSource 与 nvm 深度选型
  • 【Netty源码解读和权威指南】第35篇:Netty时间轮HashedWheelTimer源码解析——百万定时任务的秘密
  • AI模型部署实战:二元与连续委托策略的性能对比与优化
  • 对称群核函数:从Gelfand对到Zonal球函数的机器学习实践
  • FOC位置环调优实战:基于NXP MCU的P控制器参数整定指南
  • 基于语义一致性的对话去口语化:BiCon-Gate模型原理与工程实践
  • 2026巴中防水补漏避坑指南:卫生间/厨房/阳台/屋顶/地下室漏水检测维修全攻略,正规施工+透明报价+口碑榜靠谱服务商推荐 - 安佳防水
  • Langchain项目-多功能客服