我正在使用带有Q& A部分的djagno设计网站。在本节中,有一部分用户可以看到所有问题,也可以看到谁提出任何问题。我做了一些事情,但它只显示了所有问题登录的用户名! 有什么建议? 先感谢您。 这是我的观点:
def getUserInfo(userID):
row = msignup.objects.get(id=userID)
fname = row.fname
lname = row.lname
mobile = row.mobile
email = row.email
userInfo = {
'userID': userID,
'fname': fname,
'lname': lname,
'degree': degree,
'field': field,
'mobile': mobile,
'email': email,
}
return userInfo
def my_question(request):
userID = request.session.get('mainSession', 0)
userInfo = getUserInfo(userID)
user = msignup.objects.get(id=userID)
q = Question.objects.all()
context = {'myquestions' : q, 'userInfo':userInfo}
return render (request,'questions/myquestions.html',context)
#################这是我的模特:
class Question(models.Model):
user = models.ForeignKey(msignup, related_name = "uquestion")
title = models.CharField(max_length=25)
description = models.TextField(max_length=2000)
create_date = models.DateTimeField(auto_now_add=True)
update_date = models.DateTimeField(auto_now_add=True)
favorites = models.IntegerField(default=0)
has_accepted_answer = models.BooleanField(default=False)
class Meta:
verbose_name = 'Question'
verbose_name_plural = 'Questions'
ordering = ('-update_date',)
答案 0 :(得分:2)
在'my_question'中你使用 userID = request.session.get('mainSession',0),它将始终返回当前用户。
您必须在问题模型中使用 models.ForeignKey(User)并在创建问题时保存用户ID。
注意:request.session.get('mainSession',0)将始终返回当前用户。
答案 1 :(得分:0)
在模板中显示问题的详细信息(如作者,发布日期等)。使用
{% for question in myquestions %}
{{question.user}} # use .fnamn or .lname to show first or last name of the user and so on
{{question.create_date}}
.......
{% endfor %}
有关登录用户的详细信息,您可以使用' userInfo'。