Py学习  »  Django

重定向Django 2.2中的登录用户

Venkatesh Gotimukul • 6 年前 • 1983 次点击  

网址.py

urlpatterns = [
    url(r'^$', LoginView.as_view(template_name='landing.html'), name='landing')
]

我尝试创建自定义视图,而不是使用内置django登录。

新建url.py

urlpatterns = [
    url(r'^$', landing_validation, name='landing')
]

视图.py

def landing_validation(request):
  if request.user.is_authenticated:
    return HttpResponseRedirect('/user/home')
  else:
    return login(request)

http://127.0.0.1:8000 它把他引向 http://127.0.0.1:8000/user/home/ . 但是当用户注销时,我得到如下错误 login() missing 1 required positional argument: 'user'

我在settings.py中设置了如下URL,但从未使用过它们:

LOGIN_REDIRECT_URL = '/user/home'

LOGIN_URL = '/'

注销工作正常,如下所示。

  url(r'^logout/$',
      logoutUser,
    name='logout'
  ),

视图.py

def logoutUser(request):
  logout(request)
  return HttpResponseRedirect('/')
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55936
文章 [ 2 ]  |  最新文章 6 年前