Django中使用redirect重定向的问题

2018-05-06 10:10:50 Python 阅读 (3263) 评论(1)

    1.Django中使用redirect重定向时,

    

82)%XR8P(`]0)MADUTH)KJ7.png

    会报一个错,

'set' object is not reversible

这是为什么呢?

(PCTF~%XQ}MJKQ76W$WT{3T.png

    多方查找才发现,是urls.py的问题,Django中urls.py中的路由默认是字典,

C`S~4]LIX31CLOP}9N_MBQS.png

    要把这个字典改为列表形式,而且全部应用下的urls.py里的路由也必须是列表形式方可

                

SU02M1QC4BBDFU)}@BMBO(D.png

7O0BT@LEM)X(D_PN`UA`1]9.png

     如上,把项目里的urls.py和全部应用里的urls.py文件里的路由项改为列表,redirect就可以正常使用了(原因未明

    

    2.另外,还有一个不改变文件,也可以正常重定向的方法,就是使用

HttpResponseRedirect

先导入

from django.http import  HttpResponseRedirect

然后使用

logout(request):
    request.session.flush()
    HttpResponseRedirect()

这样也可以达到正常重定向的效果

评论

宋永胜 18-05-09 14:53:52 测试评论