Django(四)

django的请求生命周期流程图

image

路由层

1. 路由匹配, urls.py中 # APPEND_SLASH = False 控制django是否自动加斜杠匹配 url(r'^testadd/$', views.testadd) # 匹配规则:从上到下只要正则表达式匹配成功,就不会往下匹配了 ''' get请求的传参方式? http://127.0.0.1:8000/test/?a=1 http://127.0.0.1:8000/test/1 '''

无名分组和有名分组

# 无名分组 url(r'^test/(\d+)', views.test), # 会把括号中匹配的数字当成位置参数传给视图函数 # 有名分组 url(r'^test/(?P<aaaa>\d{2})$', views.test), # # 会把括号中匹配的数字当成关键字参数传给视图函数

反向解析

定义:通过一些方法得到一个结果,该结果可以直接访问对应的url触发视图函数 # 先给路由与视图函数起一个别名 url(r'^test/', views.test, name='aaa') # 反向解析 # 前端反向解析 <a href="" {% url 'aaa' %}>臭傻逼</a> # 后端反向解析 from django.shortcuts import reverse def home(request): print(reverse('aaa')) # 无名分组的反向解析 # 路由书写 url(r'^index/(\d+)/', views.index, name='aaa') # aaa为自起的别名 # 前端 <a href="{% url 'aaa' 1 %}">臭傻逼</a> # 后端 def home(request): print(reverse('aaa', args=(1, ))) # 有名分组的反向解析 # 后端 print(reverse('aaa', kwargs={'aaa': 1111})) # 前端 <a href="{% url 'aaa' year=1111 %}">臭傻逼</a> """ 这个数字写代码的时候应该放什么 数字一般情况下放的是数据的主键,利用该主键进行数据的更改和删除 url(r'^index/(\d+)/', views.index, name='aaa') def index(request,args): reverse('aaa', args=(index_id)) {%for user_obj in user_q%} <a href"{% url 'aaa' user_obj_id%}">编辑</a> {%endfor%} 无名有名不能混合使用,可以单个多次使用!!! """

路由分发

# 重点 以后我们的django项目会越来越大,那么就会导致总路由文件会越来越大,就会非常难维护,我们会把总路由分开到不同的应用下面 ''' django的每一个应用都支持有自己的 urls.py templates static ''' # 怎么样把这些应用串起来?就是使用路由分发。 # 使用路由分发一般都是多个应用 # 路由分发 '''第一种方式''' from app01 import urls as app01_urls from app02 import urls as app02_urls url(r'^app01/', include(app01_urls)), url(r'^app02/', include(app02_urls)), ''' 强调:路由分发时,总路由第一个参数一定不能加$ ''' # 第二种方式 url(r'^app01/', include('app01.urls')), url(r'^app02/', include('app02.urls')),

名称空间(了解)

# 当多个应用出现相同的别名时,反向解析就没办法识别了 url(r'^app01/', include('app01.urls', namespace='app01')), url(r'^app02/', include('app02.urls', namespace='app02')), print(reverse('app01:index')) print(reverse('app02:index'))

虚拟环境

针对不同的项目,创建出来一个新的python环境,类似于是一个新的python解释器


__EOF__

本文作者祈安
本文链接https://www.cnblogs.com/jyc666/p/15956683.html
关于博主:没有收拾残局的能力,就别放纵善变的情绪
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   丶祈安  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示