当我登录一个用户,并试图检索用户名或任何细节,我得到以下错误。不知道这到底是什么意思?
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
不确定在您的上下文中什么是User,但是Python代码中的方法(这是模型方法,不是属性)应该使用User .get_full_name()之类的方法来调用。 在Django模板中,您可以跳过它,而模板引擎会替您做这件事:) 通常以大写字母开头的单词表示类名,而不是对象。因此,通常User是一个用户模型类,但User是一个用户模型实例,您可以从DB(例如User = User.object .get(pk=1))中创建或检索该实例。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。