Loading

007 Django url反向解析

url反向解析

url 反向解析简介

url反向解析是指在视图或模板中,用path定义的名称来动态查找或计算出相应的路由

  • path 函数的语法
    • path(route, views, name=“别名”)
    • path(“page”,views.page_view, name=“page_url”)
  • 根据 path 中 name 关键字传递参数给 url 来确定唯一的名字,在视图中我们可以通过这个名字来反向推断 url

模板中如何使用反向解析

模板中 - 通过 url 标签实现地址的反向解析

  • {% url ‘别名’%}
    • 例如:{% url ‘page1' %}
  • {% url ‘别名’‘参数值1’‘参数值2’%}
    • 例如:{% url‘page2’‘400’%}
    • 例如:{% url‘page3’age=‘18’name=‘cxk’ %}

例如

<a href={% url "page_name" %}>反向解析</a>

视图中如何使用反向解析

在视图函数中->可调用django中的reverse方法进行反向解析

from django.urls import reverse
reverse("别名", args=[], kwargs={})

例子

  • reverse(‘page1’,args=[300])
  • reverse(‘page2’, kwargs={‘name’: ‘xixi’})
def test_302(request, age):
    url = reverse('page1',age)
    return HttpResponseRedirect(url)

此时我们自动反向解析的值赋值给 url, 然后我们再使用302跳转到指定路由

posted @ 2022-07-10 19:17  271374667  阅读(15)  评论(0编辑  收藏  举报