我使用的是Django
表单来加载图像,我使用的是Bootstap-fileinput
。Django with Bootstrap-file-upload
当窗体已经用图像初始化时,我希望立即显示图像,但它现在简单地显示没有图像。如何让模板自动显示Bootstap HTML的file-input-exists
版本而不是file-input-new
版本?
Forms.py:
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
fields = ['image',]
widget = {
'image' : forms.FileInput(attrs={'class': 'form-control',
'id' : 'input-file'}),
}
我的模板有:
{{form.image}}
{{form.image.errors}}
这将生成以下HTML表单是否包含一个图像或不
<div class="file-input file-input-new"><div class="file-preview ">
<div class="close fileinput-remove">×</div>
<div class="">
<div class="file-preview-thumbnails"></div>
<div class="clearfix"></div>
<div class="file-preview-status text-center text-success"></div>
<div class="kv-fileinput-error file-error-message" style="display: none;"></div>
</div>
</div>
<div class="kv-upload-progress hide"></div>
<div class="input-group ">
<div tabindex="500" class="form-control file-caption kv-fileinput-caption">
<div class="file-caption-name"></div>
</div>
<div class="input-group-btn">
<button type="button" tabindex="500" title="Clear selected files" class="btn btn-default fileinput-remove fileinput-remove-button"><i class="glyphicon glyphicon-trash"></i> Remove</button>
<button type="button" tabindex="500" title="Abort ongoing upload" class="btn btn-default hide fileinput-cancel fileinput-cancel-button"><i class="glyphicon glyphicon-ban-circle"></i> Cancel</button>
<div tabindex="500" class="btn btn-primary btn-file"><i class="glyphicon glyphicon-folder-open"></i> Browse …<input class="form-control" id="input-file" name="image" type="file" required=""></div>
</div>
</div>
** EDI T ** 感谢迄今为止的帮助,我现在已经显示图像,但是如果我尝试重新提交表单,我会收到一条消息,指出没有选择任何文件。我也需要选择这个。
我已添加此JavaScript,以便在加载时显示图像。
<script>
$("#input-file").fileinput({
showUpload: false,
initialPreviewShowDelete: false,
{% if form.instance.image %}
initialPreview: [
"<img src='{{ form.instance.image.url }}' class='file-preview-frame'>",
],
initialPreviewConfig: [
{caption: "{{ form.instance.image.name}}",},
],
{% endif %}
});
</script>
无法理解你问题。你想选择时显示图像不显示浏览或初始化图像中的图像? –
@Rohit Chopra - 它显示的图片,当我选择它与浏览,但如果我想编辑表格,所以我用记录初始化它不显示预加载的图像(而所有其他数据显示)。我希望它在从表格 – HenryM
中初始化时显示图像,请检查此问题是否与您的相同。 http://stackoverflow.com/questions/9830183/django-how-can-i-display-a-photo-saved-in-imagefield –