django请求生命周期流程图和路由层

系列文章目录

初识Django
Django ORM表的创建和增删改查


django请求生命周期流程图

Django生命周期图

路由匹配

​ URL:正则表达式,函数或者类型地址

路由匹配原则:从上往下正则表达式能够匹配到内容就算匹配成功,会立即执行后面的视图函数,并结束整个路由匹配过程

在Django框架中,如歌路由匹配第一次没有匹配到,就会在路径后面加上斜线再次匹配。

APPEND_SLASH = True 
#参数可以控制,简易使用默认的自动添加

默认首页路由匹配

url(r'^$',views.home)

错误页面匹配

url(r'',views.error)

其他匹配

url(r'^$',views.home), 
url(r'^test/$',views.test),
url(r'^testadd/$',views.testadd),

无名分组

url(r'^rest/([0-9]{4})/',views.test) #test(request,1234)
"""
在路由匹配如果将某个正在使用的阔号扩起来,那么该部分正则配置到的内容会当做位置参数传递给后面的视图函数
"""

有名分组

url(r'^testadd/(?P<year>[0-9]{4})',viewa,testadd) #testadd(request,year=1234)
"""在路由匹配中如果将某部分正则使用括号括起来,那么该部分正则匹配到的内容会当作关键字参数传递给后面的视图函数
"""

有名分组和无名分组是否可以混用

#不能混用
url(r'^index/(\d+)/(?P<xxx>\d+)/',views.index)

#但是在单个情况下,可以重复使用
#无名分组
	url(r'^index/(\d+)/(\d+)/(\d+)/',views.index)  #/1/2/3
#有名分组
    url(r'^index/(?P<yyy>\d+)/(?P<xxx>\d+)/',views.index)

反向解析

1.在路由层书写正则已函数名的时候,在后面加上一个唯一标识
	url(r'^login/',views.login,name='my_login')
    
2.前端解析反向解析
	from django.shortcuts import reverse
    _url = reverse('my_login')
    
"""
通过标记解析出一个结果,该结果可以访问到所在的哪一行地址
"""

无名有名反向解析

#无名分组的反向解析
url(r'^login/(\d+)/',views.login,name='my_login')

后端
_url = reverse('my_login',args=(111,))
print(_url) # login/111

前端
{% url 'my_login' 1 %}
#有名分组反向解析
url(r'^login1/(?P<xxx>\d+)/',views.login1,name='my_login1')
 后端
    	_url = reverse('my_login',kwargs={'xxx':123})
    	print(_url)  # /login/123/
    前端
    	{% url 'my_login' xxx=1 %}
        
"""其实无名有名反向解析可以使用通用的方式"""
	都可以使用无名分组的反向解析

路由分发

url(r'^app01/',include('app01.urls')),
url(r'^app02/',include('app02.urls')),

名称空间

​ 多个app中出现相同姓名,那么反向解析无法自动识别

总路由
#名称空间,namespace
    url(r'^app01/',include('app01.urls',namespace='app01')),
    url(r'^app02/',include('app02.urls',namespace='app02')),
反向解析
	reverse('app01:my_index')
	reverse('app02:my_index')
前端
    {% url 'app01:my_index' %}
    {% url 'app02:my_index' %}


伪静态

静态页面
	数据写死的 不怎么改变的
伪静态页面
	看似是文件其实是动态网页 这么做事为了提高网站被搜索引擎收录的概率
将路径后缀改为.html形式即可

虚拟环境

虚拟环境能够实现针对不同的项目配备专属的编程环境
创建虚拟环境相当于重新下载了一个新的解释器


虚拟环境的唯一表示是venv文件夹
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值