2017-10-09 3 views
-1

장고 제 3 모델 (클래스 Jenkinsjobsinformation)의 데이터를 템플릿에 표시 할 수 없습니다.db에서 템플릿으로 모델 데이터를 표시 할 수 없습니다.

+0

나는 어디서 붙어 있는지 이해하지 못합니다. '{% url %}'태그를 사용하는 방법을 알고 있습니다. 'jenkinsjobname' 변수를 사용할 수 있습니다. 왜 그냥 사용할 수 없니? –

+0

당신은 당신이 시도한 것과 왜 혼란 스러울지를 설명하지 않았습니다. 앞에서 말했듯이 다른 곳에서는'{% url %} '을 성공적으로 사용했습니다. 왜 여기서 사용할 수 없습니까? –

답변

1

모델 Jenkinsjobsname에 방법 get_absolute_url 추가 :

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} 

템플릿에 대한 링크를 변경 내 모델을 찾을 수 .Below 1 차 및 2 차 모델 (프로젝트 이름 및 Jenkinsjobsname)에서 데이터를 게시 할 수 있습니다 :

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

직접 할 수도 있지만 이렇게하면 장고 관리자가 링크를 선택할 수 있습니다. get_absolute_url은 장고 대회입니다. 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'%}'과 함께 부분 템플릿을 사용하십시오. 하나의 템플릿 만 사용하려면 템플릿 컨텍스트에 상태 플래그를 추가해야합니다. 컨텍스트에 이미 존재하는 객체를 검사하는 것에서 결정할 수 없다면 어떤 부분을 표시할지, 어떤 부분을 표시할지 결정할 때 사용하십시오. 이것은 질문의 일부가 아닙니다. 다른 것에 물어 보거나 장고 문서로 영감을 얻으십시오. – Risadinha

+0

고맙습니다. 나는 또 다른 질문을 할 것이다. – jisan