有关success_url和redirect_field_name的问题?

时间:2019-04-05 15:03:43

标签: django-views

  1. success_url和redirect_field_name之间的区别
  2. 尽管我设置了success_url,但是每次登录后,它都会重定向到帐户/个人资料,如果我没有设置LOGIN_REDIRECT_URL,那么success_url的含义是什么? LOGIN_REDIRECT_URL和覆盖get_success_url是您希望重定向的唯一方法吗?

在项目urls.py中:

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^', include('blog.urls'), ),
    url(r'login/$', userviews.UserLoginView.as_view(), name='login'),
    url(r'logout/$', userviews.UserLogoutView.as_view(), name='logout'),
    url(r'signup/$', userviews.SignupView.as_view(), name='signup'),
    url(r'^hello/$', userviews.test, name='test')
]

在应用中:用户:

class UserLoginView(LoginView):
    template_name = 'login.html'
    success_url = reverse_lazy('test')
    redirect_field_name = reverse_lazy('test')

用户中没有urls.py。

the function below works:
 def get_success_url(self):
        url = super(UserLoginView, self).get_success_url()
        print(url)
        return self.success_url

所以我只想知道,如果我没有设置,它将重定向到success_url LOGIN_REDIRECT_URL还是覆盖get_success_url?

0 个答案:

没有答案