如何在Django Photologue中显示扩展字段

时间:2014-12-20 22:20:09

标签: python django photologue

我已按照有关如何customize models的文档进行操作。我想在图库中添加一个额外的网址字段,所以我已经添加了这个。

extra_url = models.URLField(max_length=200, blank=True, null=True)

Django管理员显示一切都很好,但我不知道如何在实际的HTML中调用该字段。

文档说:

  

以上代码足以开始在管理界面中输入标签。要在前端使用/显示它们,您还需要覆盖Photologue自己的模板 - 因为模板可能会针对您的特定项目进行大量自定义,此处不包含示例。

我已经用自己的模板覆盖了Photologue的模板。如果没有一个例子,我太过新手了。我只是猜测没有运气。

  <div class="row col-lg-12">
    <div class="col-xs-6 col-md-8">
        <h1 class="page-header">{{ gallery.title }} </h1>
        <a href="{% however you call up the extra_url field %}">
        <p class="muted"><small> {{gallery.date_added }}</small></p>        

            {% for photo in gallery.public %}
                <div class="col-xs-6 col-xs-3">
                  <a href="{{ photo.get_absolute_url }}">
                       <img src="{{ photo.get_thumbnail_url }}" class="thumbnail" alt="{{ photo.title }}">
                  </a>
                </div>
            {% endfor %}
    <div><a href="{% url 'photologue:gallery-list' %}" class="btn btn-default">{% trans "View all galleries" %}</a></div>
    </div> 
  </div>

1 个答案:

答案 0 :(得分:0)

您是否正在根据文档创建一个额外的模型,即:

class GalleryExtended(models.Model):

    # Link back to Photologue's Gallery model.
    gallery = models.OneToOneField(Gallery, related_name='extended')

    # Now your extra field.
    extra_url = models.URLField(max_length=200, blank=True, null=True)

如果是 - 那么在您的模板中,您可以编写{{ gallery.extended.extra_url }}来显示该新字段。

关键是related_name,告诉Django如何从现有图库访问新的新模型 - 您已经在模板中拥有Photologue Gallery,作为变量{{ gallery }}