开发者社区> 问答> 正文

Django -为什么我不能检索用户名?

当我登录一个用户,并试图检索用户名或任何细节,我得到以下错误。不知道这到底是什么意思?

def loginview(request):

    message=[]
    if request.method=='POST':

        if Loginform(request.POST).is_valid():
            login_form=Loginform(request.POST)
            loginuser=authenticate(username=request.POST['email'],password=request.POST['password'])

            if loginuser is not None:
                login(request,loginuser)
                print("attempted log in")
                uname=User.username
                print(User.get_full_name)

                return render(request,'payrequest/templates/landing.html',{'landing_content':'Well done, you are loged in as'+ str(User.get_username)})
            else:
                return render(request,'payrequest/templates/landing.html',{'landing_content':'Incorrect details, try again.','okurl':'login'})
        else:
            message.append("We had some difficulties processing your request, please try again. If the issue persists please contact the systems team.")
            return render(request,'payrequest/templates/landing.html',{'landing_content':'invalid data','okurl':'login'})

    else:
        login_form=Loginform()
        return render(request,'payrequest/templates/login.html',{'form':login_form})

控制台打印: < AbstractUser函数。get_full_name 0 x04560bb0 > 问题来源StackOverflow 地址:/questions/59384187/django-why-cant-i-retrieve-user-name

展开
收起
kun坤 2019-12-26 15:37:14 462 0
1 条回答
写回答
取消 提交回答
  • 不确定在您的上下文中什么是User,但是Python代码中的方法(这是模型方法,不是属性)应该使用User .get_full_name()之类的方法来调用。 在Django模板中,您可以跳过它,而模板引擎会替您做这件事:) 通常以大写字母开头的单词表示类名,而不是对象。因此,通常User是一个用户模型类,但User是一个用户模型实例,您可以从DB(例如User = User.object .get(pk=1))中创建或检索该实例。

    2019-12-26 15:37:21
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载