从django表格

时间:2016-01-05 14:26:35

标签: python django django-forms django-templates

我很难从django表格中获取图片网址。

型号:

class Sponsor(models.Model):
    image = ProcessedImageField(upload_to='sponsors/', 
                                processors=[SmartResize(300, 120, upscale=False)],
                                format='JPEG', 
                                options={'quality': 100}, 
                                null=True)

形式:

class SponsorForm(forms.ModelForm):

    class Meta:
        model = Sponsor
        fields = ('image',)

当我使用以下方式渲染它时:

{{ sponsorform.image }}

打印:

Currently: <a href="/media/sponsors/random1.jpg">sponsors/random1.jpg</a> <br>Change: <input id="id_sponsor-image" name="sponsor-image" type="file">

所以我的问题是,如何在模板中获取该URL?我试过了:

{{ sponsorform.image.url }}
{{ sponsorform.image.path }}
{{ sponsorform.image.href }}

但似乎没什么用,有什么建议吗?

2 个答案:

答案 0 :(得分:4)

您应该尝试{{ sponsorform.instance.image.url }}。如果表单无限制,您可以这样做:

{% if sponsorform.instance.image %}
    {{ sponsorform.instance.image.url }}
{% endif %}

答案 1 :(得分:0)

这些属性在formfield.value内部,因此:

{{ sponsorform.image.value.url }}
{{ sponsorform.image.value.path }}
{{ sponsorform.image.value.href }}