Python django自定义登录视图和django自定义身份验证后端之间的区别?

Python django自定义登录视图和django自定义身份验证后端之间的区别?,python,django,Python,Django,如图所示,我想将尚未创建全名的用户重定向到url(“profile:profile\u create”) 如果用户已经创建了全名,则重定向到url('profile:profile\u view') 处理流程的更好方法是什么?自定义登录视图或自定义身份验证后端? authviews.py class LoginView(FormView): success_url = settings.LOGIN_REDIRECT_URL form_class = Authentication

如图所示,我想将尚未创建全名的用户重定向到url(“profile:profile\u create”)

如果用户已经创建了全名,则重定向到url('profile:profile\u view')

处理流程的更好方法是什么?自定义登录视图或自定义身份验证后端?

authviews.py

class LoginView(FormView):

    success_url = settings.LOGIN_REDIRECT_URL
    form_class = AuthenticationForm
    redirect_field_name = REDIRECT_FIELD_NAME
    template_name = 'registration/login.html'

    @method_decorator(sensitive_post_parameters('password'))
    @method_decorator(csrf_protect)
    @method_decorator(never_cache)
    def dispatch(self, request, *args, **kwargs):
        # Sets a test cookie to make sure the user has cookies enabled
        request.session.set_test_cookie()

        return super(LoginView, self).dispatch(request, *args, **kwargs)

    def form_valid(self, form):
        auth_login(self.request, form.get_user())

        # If the test cookie worked, go ahead and
        # delete it since its no longer needed
        if self.request.session.test_cookie_worked():
            self.request.session.delete_test_cookie()

        return super(LoginView, self).form_valid(form)

    def get_success_url(self):
        redirect_to = self.request.GET.get(self.redirect_field_name)
        if not is_safe_url(url=redirect_to, host=self.request.get_host()):
            redirect_to = self.success_url
        return redirect_to

get\u success\u url()
函数中的任何自定义都会导致不安全的请求
如何解决此问题?

我想不出您为什么需要自定义身份验证后端。顾名思义,这适用于您想要更改Django执行身份验证的方式的时候,而您并没有这样做


这里唯一改变的是登录后重定向到的位置,这完全是登录视图的工作。

IMO是第一个。使用自定义登录视图。是否参考上述逻辑?我是django的新手。谷歌搜索一下怎么样:
django登录后重定向用户
?有在线参考吗?有什么基本的逻辑参考吗?是的,当然,有一整页描述了如何让用户登录:我已经更新了这个问题。自定义
get\u success\u url()
函数会返回不安全的请求。