url反向解析
url反向解析是指在视图或模板中,用path定义的名称来动态查找或计算出相应的路由。
path函数的语法
path(route, views, name='别名')
path(route, views.page_view, name='pagr_url')
根据path中的 ’name=‘ 关键字传参给url确定了唯一确定的名字,在模板或视图中,可以通过这个名字反向推断出此url信息
模板中 - 通过url标签实现地址的反向解析
{% url '别名' %}
{% url '别名' '参数值1' '参数值2' %}
ex
{% url 'pagen' '400' %}
{% url 'person' age='18' name='ztz' %}
样例:
path('sport/', views.sport_view, name='sp'),
<a href="{% url 'sp' %}">体育频道</a>
视图中 - 可调用django的 reverse 方法进行反向解析
from django.urls import reverse
reverse('别名', args=[], kwargs={})
ex
print(reverse('pagen', args=[300]))
print(reverse('person',kwargs={'name':'xixi','age':18}))
举例:
def music_view(request):
from django.urls import reverse
url = reverse('sp')
# 跳转
return HttpResponseRedirect(url)