【问题标题】:Unable to show model data from db to template无法将模型数据从数据库显示到模板
【发布时间】:2023-04-08 02:57:01
【问题描述】:

我无法将 django 3rd 模型(Jenkinsjobsinformation 类)中的数据显示到模板。可以从第一个和第二个模型(Projectname 和 Jenkinsjobsname)发布数据。在下面找到我的模型:

【问题讨论】:

标签: python html django django-templates


【解决方案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

【讨论】:

  • 非常感谢。它正在显示。有没有办法减少到一个模板而不是三个模板 index.html、detail.html 和 job_detail.html?
  • 要重用部分模板 - 使用带有 {% include 'my_partial_template.html' %} 的部分模板 - 如果您真的只想使用一个模板,您必须在模板上下文中添加状态标志,您可以使用决定显示哪些部分,哪些不显示 - 除非您可以通过仅检查上下文中已经存在的对象来决定这一点。这不是问题的一部分——最好再问一个,或者只是从 Django 文档中寻找灵感。
  • 非常感谢。我再问一个问题。
猜你喜欢
  • 2021-02-14
  • 1970-01-01
  • 2015-03-20
  • 1970-01-01
  • 2013-08-22
  • 2013-02-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多