如何在我的网站上显示他创建的内容的用户名?

时间:2017-06-15 07:10:21

标签: python django

我正在使用带有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',)

2 个答案:

答案 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'。