标签:pen 名称空间 cut append pat 浏览器 war 修改 **kwargs
url(r‘^test/([0-9]{4})/([0-9]{2})‘, views.test)
1.路由中,命一个名,url(r‘^index/‘, views.index,name=‘n1‘)
2.在视图函数里导入from django.shortcuts import reverse
# 拿到反向解析的url
url = reverse(‘n1‘)
3.在模板里使用时:
{% url ‘n1‘ %}
4.带位置参数的反向解析
url(r‘^index/([0-9]{4})/([0-9]{2})‘, views.index,name=‘n1‘)
在视图中:url=reverse(‘n1‘,args=(2012,12,))
在模板中:{% url ‘n1‘ 2012 12 %}
5.带关键字参数反向解析
url(r‘^index/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})‘, views.index,name=‘n1‘)
在视图中:
方法一:url=reverse(‘n1‘,args=(2012,12,)
方法二:url=reverse(‘n1‘,kwargs={‘year‘=2012,‘month‘:12})
在模板中:
方法一:{% url ‘n1‘ 2012 12 %}
方法二:{% url ‘n1‘ month=12 year=2012 %}
注意:按位置传,顺序必须是固定的
作用:修改路由中url的时候,其它地方不需要改动
主urls中
url(r‘^app01/‘, include(‘app01.urls‘,namespace=‘app01‘)),
url(r‘^app02/‘, include(‘app02.urls‘,namespace=‘app02‘)),
app01的urls中
urlpatterns = [
url(r‘^test‘,views.test3 ,name=‘test‘),
]
app02的urls中
urlpatterns = [
url(r‘^test02‘,views.test3 ,name=‘test‘),
]
在视图函数中:
url=reverse(‘app02:test‘)
在模板中:
<a href="{% url ‘app02:test‘ %}">点我跳到首页</a>
标签:pen 名称空间 cut append pat 浏览器 war 修改 **kwargs
原文地址:https://www.cnblogs.com/luck-L/p/9585806.html