有名、无名分组
分组正则表达式,加小括号
url(r'^test/(\d+)', views.test),def test(request,xx):print(xx)return HttpResponse("OK")
无名分组
将括号正则表达式匹配的内容,当作位置参数传递到后面的视图函数
有名分组
正则表达式起一个别名
url(r'^testadd/(?P<year>\d+)', views.testadd),def testadd(request,year):print(year)return HttpResponse("OK")
将括号正则表达式匹配的内容,当作关键字参数传递到后面的视图函数
a.无名有名混用,不能混用
b.同以分组可以多次使用
def testadd(request,*arg,**kwargs):print(args)return HttpResponse("OK")
反向解析
1.起别名,不能冲突
url(r'^testadd/', views.testadd,name='ooo'),
2.反向解析
a.前端
<a href="{% url 'ooo' %}">test</a>
b. 后端
from .... import render, reverseprint(reverse('ooo'))
无名分组反向解析
url(r'^edit/(\d+)', views.edit,name='xxx'),def edit(request,edit_id):reverse('xxx',args=(edit_id,)){%for user_obje in user_queryset%}<a href='{% url 'xxx' user_obj.id %}'>编辑</a>
{%endfor%}
有名分组反向解析
url(r'^func/(?P<year>\d+)/', views.func,name='ooo'),#前端#写法1,了解print(reverse('ooo',kwargs={'year':123}))#简单写法,与无名一样print(reverse('ooo',args=(111,)))#前端<a href='{% url 'ooo' year=123 %}'>1111</a> 了解即可<a href='{% url 'ooo' 123 %}'>1111</a> 记忆
Q:多个参数?