在我的Django应用程序的管理部分中,我想扩展现有的内联formset的工作方式。目前,我有一个包含2个字段的图片的内联formset - name
和image
。该模型看起来与此类似:
models.py
class Slideshow(models.Model):
name = models.CharField(max_length=200,blank=True)
image = models.ImageField(max_length=200,upload_to=destination)
...
现在,在Django管理员中,我可以在我的内联中单击“添加另一个”,这会在内联表单集中添加另一个名称和图像字段块。在该表单中,我可以选择“选择文件”并添加图像文件(以及可选的名称),单击“保存”,使用现有的Django管理功能可以很好地工作。
有没有办法让我一次向现有的内联formset添加多个图像文件?假设使用HTML多文件选择?
带有示例数据的示例表格行
<div class="grp-module grp-tbody has_original grp-dynamic-form" id="asset_set0">
<h3 style="display: none;"><b>asset #1</b> sample-banner-444-fff.gif</h3>
<div class="grp-tr">
<div class="grp-td name ">
<input class="vTextField" id="id_asset_set-0-name" maxlength="200" name="asset_set-0-name" type="text" value="test asset">
</div>
<div class="grp-td file ">
<p class="file-upload">Currently: <a href="https://converse-portal-test.s3.amazonaws.com/asset_files/2014/02/13/10/52/1392317533/sample-banner-444-fff.gif?Signature=MBuCwPmV375gFfWDPKY06xP78bQ%3D&Expires=1394664278&AWSAccessKeyId=AKIAIMAKOOSEMJWWDRDA">asset_files/2014/02/13/10/52/1392317533/sample-banner-444-fff.gif</a> <br>Change: <input id="id_asset_set-0-file" name="asset_set-0-file" type="file"></p>
</div>
<div class="grp-td grp-tools-container">
<ul class="grp-tools"><li class="grp-delete-handler-container"><input id="id_asset_set-0-DELETE" name="asset_set-0-DELETE" type="checkbox"><a href="javascript://" class="grp-icon grp-delete-handler" title="Delete Item"></a></li></ul>
</div>
<input id="id_asset_set-0-campaign" name="asset_set-0-campaign" type="hidden" value="25">
<input id="id_asset_set-0-id" name="asset_set-0-id" type="hidden" value="71">
</div>
</div>
没有数据的示例formset行
<div class="grp-module grp-tbody grp-dynamic-form" id="asset_set1">
<h3 style="display: none;"><b>asset #2</b> </h3>
<div class="grp-tr">
<div class="grp-td name ">
<input class="vTextField" id="id_asset_set-1-name" maxlength="200" name="asset_set-1-name" type="text">
</div>
<div class="grp-td file ">
<input id="id_asset_set-1-file" name="asset_set-1-file" type="file">
</div>
<div class="grp-td grp-tools-container">
<ul class="grp-tools"><li><a href="javascript://" class="grp-icon grp-remove-handler" title="Delete Item"></a></li></ul>
</div>
<input id="id_asset_set-1-campaign" name="asset_set-1-campaign" type="hidden" value="25">
<input id="id_asset_set-1-id" name="asset_set-1-id" type="hidden">
</div>
</div>
顺便说一句,我已经审核了其他一些应用程序filer和photologue,这些应用程序提供了类似的功能,其代价是包含可能影响或不影响的其他几个功能我申请的其余部分。