pyton路由层解析

路由正则匹配

路由层
url.py

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    #()小括号代表,里面的参数作为形参传递给视图层的函数,views.py需要加上一个形参,[0-9]{3}代表匹配三位数字。
    url(r'^test/([0-9]{3}$)',views.test),
    url(r'^testadd/$',views.testadd), #^匹配首,dollor匹配尾。
    url(r'^$',views.home),  # 匹配空,匹配首页
    url(r'',views.error)   # 匹配404notfound
]
]

下图演示的即无名分组
views.py
pyton路由层解析
网页显示结果:
pyton路由层解析

有名分组
urls.py
pyton路由层解析

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^test3/(?P<year>\d+)/(?P<month>\d+)',views.test3),

views.py
注意,这里的形参必须为ulrs.py中所规定的,这里urls.py中规定形参为year,那么这里test3的形参必须为year.month也必须相对应month

def test3(request,year,month):
    return HttpResponse(year+month)

注释:有名分组和无名分组支持多个相同类型的传参,但是不支持混用。

反向解析:
pyton路由层解析

步骤一:在urls.py中给需要反向解析的一个路径一个name,这里设定为add。
注释:前端解析和后端解析没有实质性关联。
后端解析:通过reverse函数

def test(request):
    res = reverse('add') #获取重命名url的真实地址
    print(res)
    return render(request,'test.html')
>>>  res = 'add'

前端解析

<a href="{% url 'add' % }">add</a>

带参解析把我搞崩溃了,先留个链接,过两天有空了,再回头看
https://www.cnblogs.com/liuqingzheng/p/9506212.html

上一篇:pyton全栈开发(92天)——坚持的第10天


下一篇:06 DOM模型