Django LoginView错误

时间:2020-08-24 11:09:52

标签: django

我是编码和Django的新手。我正在学习使用旧版Django的教程。

在本教程中,cadmin / views.py中有以下代码

from django.contrib.auth import views as auth_views

def login(request, **kwargs):
    if request.user.is_authenticated:
        return redirect('/cadmin/')
    else:
        return auth_views.login(request, **kwargs)

我尝试用auth_views.login(request, **kwargs)auth_views.LoginView(request, **kwargs)替换auth_views.LoginView.as_views(request, **kwargs),但是这两个都给我带来错误。

请任何人告诉我我应该放什么。

谢谢

编辑:其他信息

这是我的管理应用程序中的urls文件

from django.urls import path, include
from . import views
from django.contrib.auth import views as auth_views

urlpatterns = [
    path('post/add/', views.post_add, name='post_add'),
    path('post/update/<int:pk>/', views.post_update, name='post_update'),
    path('accounts/login/', views.login, {'template_name':'cadmin/login.html'}, name='login'),
    path('accounts/logout/', auth_views.LogoutView.as_view(template_name='cadmin/logout.html'), name='logout'),
    path("", views.home, name='home'),
]

我已经登录return redirect('/cadmin/')时工作正常。另外,从我的网址注销也可以。是

else:
        return auth_views.login(request, **kwargs)

不起作用-它给我一个错误,说“模块'django.contrib.auth.views'没有属性'登录'”。

如果我将admin / views.py中的代码更改为

def login(request, **kwargs):
    if request.user.is_authenticated:
        return redirect('/cadmin/')
    else:
        return auth_views.LoginView.as_view(request, **kwargs)

def login(request, **kwargs):
    if request.user.is_authenticated:
        return redirect('/cadmin/')
    else:
        return auth_views.LoginView(request, **kwargs)

我在/ cadmin / accounts / login /处收到错误消息“ TypeError as_view()接受1个位置参数,但给出了2个位置。”

0 个答案:

没有答案