redirect 有无reverse的区别

来源:7-4 用户的创建登录注销验证(4)

慕哥1266152

2019-10-30

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

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

写回答

2回答

幕布斯0444199

2020-05-14

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

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

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

不知道我的理解对不对呢

0
1
deweizhang
对滴~
2020-05-14
共1条回复

deweizhang

2019-10-30

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

0
2
deweizhang
回复
慕哥1266152
嗯 并不是那样的 举例:你的uri叫/auth/login。 name是login_user 不使用revese 你直接用login_user是找不到滴~你只能使用/auth/login
2019-11-02
共2条回复

Django入门到进阶-适合Python小白的系统课程

入门Django的同时,让你形成更贴近实际工作的Python Web开发知识体系

1114 学习 · 464 问题

查看课程