【发布时间】:2016-02-01 03:27:25
【问题描述】:
在我的网站中,我无法显示 user.fname。用户中的其他所有内容,例如 user.username、user.email 和 user.password 都可以使用,但我无法显示名称。
PS:到目前为止,我尝试了 user.fname、user.name、user.name、user.first_name,没有显示任何内容
编辑:
user = request.user
if request.user.is_authenticated():
fname = request.user.get_short_name()
return render(request, 'student/dashboard.html', {'user': user, 'fname': fname})
我添加了这个,但由于某种原因我仍然不能调用它(这是我的观点)
class RegisterForm(forms.Form):
GRADE_CHOICES = (
(9,'9'), (10,'10'), (11,'11'), (12,'12') ,
)
curr_year = date.today().year
GRAD_YEAR_CHOICES = (
(curr_year,curr_year), (curr_year+1,curr_year+1), (curr_year+2,curr_year+2), (curr_year+3,curr_year+3) ,
)
fname = forms.CharField(max_length = 25)
lname = forms.CharField( max_length = 25)
emailid = forms.EmailField()
passwd1 = forms.CharField(max_length=100,widget=forms.PasswordInput)
passwd2 = forms.CharField(max_length=100,widget=forms.PasswordInput)
gradyear = forms.ChoiceField( choices=GRAD_YEAR_CHOICES)
grade = forms.ChoiceField( choices=GRADE_CHOICES)
这是在我的 forms.py 中
【问题讨论】:
-
你有什么错误吗?你查过数据库吗?您是否放置了调试断点并查看了 request.user 对象包含的内容?您的 if 条件有可能失败。因为对于匿名用户来说,这些东西都是空的
-
当我将 fname 更改为字符串时,它会显示出来。因此,我认为 user.fname 是空的,出于某种原因@VishalSh
-
在 if 语句中添加断点并查看 request.user 对象。还要检查
auth_user表并检查那里的条目。另外,使用request.user.first_name -
你是什么意思“调查”? @VishalSh
-
你在使用任何 ide 吗?
标签: django django-authentication django-users