Django 路由分组

分组

# url.py
urlpatterns = [
    ....
    # url上捕获的参数   会按照位置参数方式传参给试图函数
    url(r'^blog/([0-9]{4}/\d{2})/$', views.blog),

]


# view.py
def blog(request, year, month):
    print(year, type(year))
    print(month, type(month))
    return HttpResponse('blog')


# 请求后的返回值
[28/Jul/2021 08:04:59] "GET /blog/2020/03/ HTTP/1.1" 200 4
2020 <class 'str'>
03 <class 'str'>

分组

分组

url(r'&blog/([0-9]){4})/(\d{2})/$', views.blogs, name='blogs'),

反向解析
模板
{% url 'blogs' '2020' '02' %}   --->  /app01/blog/2020/02/

py
reverse('blogs', args=('2018', '08'))   --> /app01/blog/2018/08

 命名分组

命名分组
url(r'&blog/(?P<year>[0-9]){4})/(?P<month>\d{2})/$', views.blogs, name='blogs'),

反向解析
模板
{% url 'blogs' '2020' '02' %}   --->  /app01/blog/2020/02/
{% url 'blogs' year='2020' month='02' %}   --->  /app01/blog/2020/02/

py
reverse('blogs', args=('2018', '08'))   --> /app01/blog/2018/08
reverse('blogs', kwargs=('year': '2018', 'month': '08'))   --> /app01/blog/2018/08

 

posted @ 2021-07-28 16:06  Star-Hitian  阅读(70)  评论(0)    收藏  举报