03-路由控制4——反向解析2——python脚本中

03-路由控制4——反向解析2——python脚本中

1、在app01的url.py文件中

之前的改一下:

re_path(r'^articles/2003$',views.special_care_2003,name='s_c_2003'),

然后在相应的app01的views.py文件中

引入reverse函数!!!
from django.urls import reverse     
#改一下special_care_2003函数
    def special_care_2003(request):
        url = reverse('s_c_2003')
        print(url)#前面设置的路由  /articles/2003/
        return HttpResponse('哈哈! 2003')

还是在app01的url.py文件中

对于有分组的正则表达式:

re_path(r'^articles/([0-9]{4})/$',views.year_archive,name='year'),

然后在相应的app01的views.py文件中 —— 注意带参数的写法 ***

注意对应的函数不能包含正则表达式:

def year_archive(request,year):
    #实际是/srticles/([0-9]{4})/ ,不能包含正则表达式
    #用一个参数替换它————只要是符合正则表达式的随便的一个值就行
    #注意是一个元组!
    url =reverse(year,args=(1234,))
    print(url) #前面设置的路由  /articles/2003/
    return HttpResponse(year)

用途

redirect中用到——redirect内部内置了反向解析~在redirect中可以直接用name的值!不用reverse(name的值)也行!
其他场景
posted on 2019-05-17 20:25  江湖乄夜雨  阅读(257)  评论(0编辑  收藏  举报