DJango 学习(8)—— django 请求生命周期流程图 以及 路由层介绍

DJango 学习(8)—— django 请求生命周期流程图 以及 路由层介绍

django 请求生命周期流程图

在这里插入图片描述
在这里插入图片描述

"""
缓存数据库
	提前已经将你要想的数据准备好 你来直接拿就行
	提高效率和响应时间
"""

路由层

路由匹配

# 路由匹配
url(r"test", views.test)
url(r"testadd", views.testadd)

"""
url 方法第一个参数是正则表达式
	只要第一个参数正则表单时能够匹配内容 那么就会立刻停止往下匹配
	直接执行对应的视图函数
	
你在输入 url 的时候会默认加斜杠
	django内部帮你做到重定向
		一次匹配不行
		url 后面加 斜杠 再来一次
"""

# 取消自动加斜杠
APPEND_SLASH = False

# 首页
url(r"^$", views.home)
演示

请添加图片描述

无名分组

"""
分组:就是给一段正则表达式用小括号括起来
"""
url(r"test/(\d+)/", views.test)

def test(request, xx)
	print(xx)
    return HttpResponse("test")

# 无名分组就是将括号内正则表达式匹配到的内容当作位置参数传递给后面的视图函数

有名分组

"""
可以给正则表单式起别名
"""
url(r"test/(?P<year>\d+)/", views.test)

def test(request, year)
	print(year)
    return HttpResponse("test")

# 有名分组就是将括号内正则表达式匹配到的内容当作关键字参数传递给后面的视图函数

无名分组和有名混用

# 不能混用
# 但是同一个分组可以使用 N 多次
无名、有名分组代码演示

请添加图片描述

反向解析

简单介绍

反向解析主要应用于:
模板(html 文件中)的超链接
视图(view.py)中的重定向

作用:
随着功能的增加会出现更多的视图,可能之前配置的正则表达式不够准确,于是就要修改正则表达式,但是正则表达式一旦修改了,之前所有对应的超链接都要修改,真是一件麻烦的事情,而且可能还会漏掉一些超链接忘记修改,有办法让链接根据正则表达式动态生成吗? 就是用反向解析的办法
简单来说,使用反向解析可以在 url.py改变正则表达式时,但是实际运行时却不用输入最近的网址,而实现网址的跳转

# 通过一些方法得到一个结果,该结果可以直接访问对应的 url 触发视图函数

# 先给路由与视图函数起一个别名
url(r"^func_k/", views.func, name="xxx")

# 反向解析
	# 后端反向解析
    from django.shortcuts import reverse
    reverse("xxx")
    
    # 前端反向解析
    <a href="{% url 'xxx' %}">111</a>
反向解析代码演示

视图中的重定向
请添加图片描述
模板(html 文件中)的超链接
请添加图片描述

无名有名反向解析

# 无名反向解析
url(r"index/(\d+)/", views.index)
# 前端
	{
   % url "xxx" 123 %}
# 后端
	from django.shortcuts import reverse
    reverse("xxx", args=(1,))
"""
这个数字写代码的时候应该放什么
	数字一般情况下放的式数据的主键值  数据的编辑和删除
	
url(r"edit/(\d+)/", views.edit)

def edit(request, edit_id):
	reverse("xxx", args=(edit_id, ))
	
{% for user_obj in user_queryset %}
	<a href="{% url "xxx" user_obj %}">
{% endfor %}
"""

# 有名反向解析
url=(r"func/(?P<year>\d+)/", views.func, name="xxx")
# 前端
<a href="{% url 'xxx' year=123 %}">111</a>
<a href="{% url 'xxx
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值