首页 > 科技 > django-命名空间与别名-反向解析-视图反解-模板反解

django-命名空间与别名-反向解析-视图反解-模板反解

定义阶段

》命名空间

总路由匹配路径分发给分支路由时可设置命名空间

》别名

路径的匹配如果是直接对应到视图函数

可以定义别名


使用阶段-视图反解

》路径无正则捕获的情况

如果匹配的路径上不带正则捕获

1,导入模块

from django.urls import reverse

2,反向解析

reverse("命名空间:别名")

reverse("别名")

例子:

reverse("job:deal_search")

》路径有正则匹配的情况

reverse(别名,kwargs={关键词1:值1,关键词2:值2})

相关笔记:

使用阶段-模板反解

直接看笔记

模板中的反向解析,url基本用法

用法,两种情况:
{% url '别名' %}
{% url '命名空间:别名' %}
例子:
路由文件中
path('book/detail/', views.book_detail, name='detail')
在模板中可以通过
{% url 'detail' %}
拿到值
book/detail
在视图函数中可以通过
reverse('detail')
拿到值
book/detail



模板反向解析-带关键词参数的情况

格式:
{% url '别名' 参数名1=值1 参数名n=值n %}
例子:
{% url 'detail' book_id=1 %}
说明:
path('book/detail//', views.book_detail, name='detail')
别名detail对应的路径需要一个参数
所以在反向解析时要传递过去
模板中反解 {% url 'detail' book_id=1 %}
会得到这样的结果 'book/detail/1/'
视图中反解 reverse("detail", kwargs = {"book_id":1})
会得到这样的结果 'book/detail/1/'

本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/2043440.html

setTimeout(function () { fetch('http://www.sosokankan.com/stat/article.html?articleId=' + MIP.getData('articleId')) .then(function () { }) }, 3 * 1000)