我使用的是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 –