Django LoginView的success_url?

时间:2018-05-20 23:37:18

标签: django django-views django-generic-views

高级别问题:我可以使用success_url属性更改为从Django的LoginView继承的视图将重定向的位置吗?

我有一个类似下面的登录视图(忽略import语句):

class MyLoginView(LoginView):
    template_name = 'myapp/mytemplate.html'
    success_url = reverse_lazy('myapp:my_success_view')

但是,我的登录视图仍然从我的settings.py重定向到我的LOGIN_REDIRECT_URL。这是在视图中更改重定向网址的错误方法吗?

修改由于部分问题可能是模板,因此我将包含模板的提交按钮部分。考虑到Mehdi的答案(行为没有改变),这是它的看法。

        <div class="d-flex justify-content-center mt-4" style="width: 100%">   
            <button type="submit" class="btn btn-primary" style="width: 100%">
                Log In
            </button>
        </div>
        <input name="next" type="hidden" value="{% url 'myapp:mytemplatename' %}"/>

1 个答案:

答案 0 :(得分:1)

在您的模板中,您应该使用下一个输入:

<input name="next" type="hidden" value="{% url 'success_view' %}>

您可以使用视图的redirect_field_name属性自定义其名称。请参阅课程文档here