2017-10-09 73 views
-1

我無法將django 3rd模型(類Jenkinsjobsinformation)的數據顯示爲模板。有可能從第一和第二模型(項目名和Jenkinsjobsname)公佈的數據。下面找到我的模型:無法將模型數據從db顯示到模板

+0

我不明白你卡在哪裏。你知道如何使用'{%url%}'標籤;你有'jenkinsjobname'變量可用;爲什麼你不能使用它? –

+0

你還沒有解釋你試過的是什麼以及爲什麼你感到困惑。正如我所說的,您已經在其他地方成功使用過'{%url%}';你爲什麼不能在這裏使用它? –

回答

1

添加方法get_absolute_url到模型Jenkinsjobsname

class Jenkinsjobsname(models.Model): 
    projectname=models.ForeignKey(Projectname) 
    jobsname = models.CharField(max_length=200) 
    def __str__(self): 
     return self.jobsname 

    def get_absolute_url(self): 
     return reverse('job_detail', 
         kwargs={'projectname_id': self.projectname.pk, 'jobinformation_id': self.pk} 

在模板中更改鏈接:

<li><a href="{{jenkinsjobsname.get_absolute_url}}">{{jenkinsjobsname.jobsname}}</a></li> 

你也可以直接做到這一點,但這種方式也Django管理員將拿起鏈接。 get_absolute_url是一個Django約定:https://docs.djangoproject.com/en/1.11/ref/models/instances/#get-absolute-url

+0

非常感謝。它現在正在顯示。是否有任何方法可以減少到一個模板而不是三個模板index.html,detail.html和job_detail.html? – jisan

+0

要重複使用模板的某些部分 - 使用含有{%include'my_partial_template.html'%}'的部分模板 - 如果您確實只想使用一個模板,則必須將狀態標誌添加到您的模板環境中用於決定要顯示哪些部分以及哪些不顯示 - 除非您可以通過僅檢查上下文中已存在的對象來決定。這不是問題的一部分 - 更好地詢問另一個問題,或只是看Django文檔的靈感。 – Risadinha

+0

非常感謝。我會問另一個問題。 – jisan