第十四节 reverse函数补充

views.py部分代码

 1 from django.shortcuts import render,HttpResponse,redirect,reverse
 2 
 3 
 4 def article(request):
 5     # 不带参数的url反转重定向
 6     # return redirect(reverse('article_id'))
 7 
 8     # 带参数的url反转的重定向
 9     # return redirect(reverse('article_list',kwargs={'year':1990}))
10 
11     # 带查询字符串的url反转重定向,查询字符串不能作为参数传递,django会严格按照ulrs的地址去匹配,只能作为拼接字符串传入
12     return redirect(reverse('article_list',kwargs={'year':1990}) + '?next=/')
13 
14 def article_list(request, year):
15     return HttpResponse('文章列表:%s' % year)
16 
17 def artcile_id(request):
18     return HttpResponse('文章ID')

urls.py 部分代码

1 from django.urls import path,include,re_path
2 from booktest import views
3 
4 urlpatterns = [
5     re_path('^article/$', views.article, name='article'),
6     re_path(r'^article/list/(?P<year>(d{4}))/$', views.article_list, name='article_list'),
7     path('^article_id$', views.artcile_id, name = 'article_id'),  # 在这边没有next参数,所有当next作为查询字符串参数传入时,只能将其拼接进去
8 
9 ]
原文地址:https://www.cnblogs.com/kogmaw/p/12441375.html