Django2.0之后,如果url.py中需要添加正则,需要添加
from django.urls import re_path
路由规则详解:
# (\d+)代表数字,"?P<artical_type_id>"和"?P<category_id>"代表传递到views.py中的参数为字典{"artical_type_id": (\d+), "category_id": (\d+)} re_path('artical-(?P<artical_type_id>\d+)-(?P<category_id>\d+).html', backend.artical),
#文章筛选,传递的参数为用户名、筛选条件(category、tag)、筛选条件的id(cta=category、tag) re_path('(?P<username>\w+)/(?P<screening>\w+)/(?P<screening_cta_id>\w+).html', views.artical_screening),
例:http://127.0.0.1:8000/blog/test/category/1.html # 文章筛选,筛选出指定月份的文章,\d{4}代表匹配4个数字,\d{2}代表匹配2个数字 re_path('(?P<username>\w+)/(?P<screening>\w+)/(?P<screening_cta_id>\d{4}-\d{2}).html', views.artical_screening),
例:http://127.0.0.1:8000/blog/test/archive/2018-04.html
路由拼接:
url.py re_path('article-(?P<article_type_id>\d+)-(?P<category_id>\d+).html',views.article,name='article'), views.py url = reverse('article',kwargs={'article_type_id': '1', 'category_id': '0'}) print(url)
结果为"/artical-1-0.html"
转载于:https://www.cnblogs.com/ttyypjt/p/10375675.html