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 ]