'AnonymousUser'对象在Django登录功能中没有属性'_meta'错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了'AnonymousUser'对象在Django登录功能中没有属性'_meta'错误相关的知识,希望对你有一定的参考价值。

我在Django的内置登录功能中遇到问题。

这里是views.py代码:

def login_page(request):
    if request.method == 'POST':
        form = AuthenticationForm(data=request.POST) 
        if form.is_valid:
            user = form.get_user()
            login(request, user)    
            return redirect('index')
    else: 
        form = AuthenticationForm() 
    return render(request, 'login.html', 'form':form)

下面是我的html代码。

<form action="% url 'login' %" method="post">
        % csrf_token %
         form 
        <input type="submit" value="Log in">
</form>

当我单击“登录”按钮时,出现错误提示:'AnonymousUser'对象没有属性'_meta'

我看不出哪一部分错了。非常感谢您的帮助。 :)

答案

is_valid不是属性,而是函数。因此,您需要这样称呼它:

is_valid

说明:由于您没有调用该函数,因此if form.is_valid(): 方法中的AuthenticationForm不是authenticating the user

以上是关于'AnonymousUser'对象在Django登录功能中没有属性'_meta'错误的主要内容,如果未能解决你的问题,请参考以下文章

django - AttributeError:'AnonymousUser'对象没有属性'todo'

Django登录AttributeError:'AnonymousUser'对象没有属性'_meta'

如何修复“AnonymousUser”对象没有属性“配置文件”错误?

linq 加入 guid 和字符串列

应用程序未验证 jmeter 脚本的虚拟用户并在日志中打印“anonymousUser”

djagno NotImplementedError:Django 没有为 AnonymousUser 提供数据库表示