2017-06-15 91 views
0

我正在設計一個網站使用djagno與Q &節。在本節中,有一部分用戶可以看到所有問題,還可以看到誰問了任何問題。我做了一些事情,但它只顯示登錄所有問題的用戶名! 有什麼建議嗎? 預先感謝您。 這是我的看法:如何顯示用戶在我的網站上創建的內容的名稱?

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

發佈你的模型 – Exprator

+0

我做到了。感謝您的幫助。 –

回答

2

在 'my_question' 您正在使用的用戶ID = request.session.get('mainSession',0)將始終返回當前用戶。

您必須使用models.ForeignKey(用戶)問題模型並在創建問題時保存用戶標識。

注意:request.session.get('mainSession',0)將始終返回當前用戶。

+0

我在我的模型中使用了models.ForeignKey。如何在創建問題時保存用戶ID並將其附加到該問題?順便說一下,我添加了我的模型。 –

+0

好吧,無論何時你正在創建一個問題,並且他在你的網站上登錄,那麼只需使用「request.user」來獲取他的用戶ID並保存在問題對象中。 –

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 %} 

和登錄用戶的詳細信息,可以使用「用戶信息」。

相關問題