Django 2 - 你想要 HTML

Django 2 - quieres in HTML

我正在创建一个程序来列出选定参与的所有主要地点。我有两个模型:Engagement 和 MainLocation。 Engagement 是 MainLocation 模型中的外键。主要位置模型如下所示:

class MainLocation(models.Model):
    loc_name = models.CharField(max_length=256)
    engagement = models.ForeignKey(Engagement,related_name='main_location', on_delete="Cascade")

要查看相应参与中的所有主要位置,我在 HTML:

中有这个
Main Locations for {{engagement.engagement_name}}
    <ul>
      {% for location in engagement.main_location.all %}
        <li>{{mainlocation.loc_name}} </li>
      {% endfor %}
    </ul>

这将为我提供正确的订婚名称,并为我提供无序列表中正确数量的地点。所以我知道它正在计算正确的位置。我很困惑为什么没有显示每个位置的名称。我也试过:

{{engagement.main_location.loc_name}}
{{engagement.main_location.id}}

我是不是遗漏了什么语法?任何帮助,将不胜感激。

发现问题。显然,在 Django 中使用 DetailView 时,您必须将模块名称放入 for 循环中。这将使您能够访问该模块。

像这样:

Main Locations for {{engagement.engagement_name}}
    <ul>
      {% for mainlocation in engagement.main_location.all %}
        <li>{{mainlocation.loc_name}} </li>
      {% endfor %}
    </ul>