请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

redirect 有无reverse的区别

class Logout_user(View):
    def get(self,request):
        print("退出登录ing")
        logout(request)
        return redirect(reverse('login'))

我平时不用reverse, 直接return redirect(‘login’)就可以正常跳转 , 课程里都加了reverse, 不知道有什么区别?

正在回答 回答被采纳积分+3

2回答

幕布斯0444199 2020-05-14 15:55:19

假如想要给反转的url传递参数,那么使用redirect的话就需要写全路径,使用reverse只需用他的别名。就像老师说的,假如路径改了的话,使用reverse的就不需要再改代码

reverse('view.name','kwargs={'参数':'值'}')

假如直接 redirect的话 需要 redirect('全路径?参数')

不知道我的理解对不对呢

0 回复 有任何疑惑可以回复我~
deweizhang 2019-10-30 18:26:05

可以不用的 用知识方便路由path变的话 name不变 可以不用更改更多代码

0 回复 有任何疑惑可以回复我~
  • 提问者 慕哥1266152 #1
    但是不用也可以 return redirect('login'),   path变name不变不用改代码, 这里的login已经是name了
    回复 有任何疑惑可以回复我~ 2019-11-01 21:54:25
  • deweizhang 回复 提问者 慕哥1266152 #2
    嗯 并不是那样的 举例:你的uri叫/auth/login。 name是login_user 不使用revese 你直接用login_user是找不到滴~你只能使用/auth/login
    回复 有任何疑惑可以回复我~ 2019-11-02 09:23:29
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信