我已按照有关如何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>
答案 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 }}
。