Django-为什么我无法检索用户名?

时间:2019-12-18 01:04:04

标签: python 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})

控制台打印: <function AbstractUser.get_full_name at 0x04560BB0>

2 个答案:

答案 0 :(得分:0)

不确定您的上下文中的User是什么,但是应该使用()user.get_full_name()一样调用Python代码中的方法(那是一个模型方法,而不是属性)。

在Django模板中,您可以跳过它,而模板引擎代替它来代替您:)

通常,以大写字母开头的单词表示类名,而不是对象。因此,通常UserUser模型类,而user是您从数据库中创建或检索的User模型实例(例如user = User.objects.get(pk=1))。 / p>

答案 1 :(得分:0)

也许您应该使用以下两行代码替换您的代码。

#include <iostream>

using namespace std;

int main()
{
    auto lambda = []{ 
        cout <<"Hi ";
        return false;};

    static bool temp(lambda());


   cout <<"temp "<< temp;

   return 0;
}