2
我想創建一個應用程序,允許用戶選擇包含在特定文件夾中的所有圖像之間的圖像。下拉式輸入將呈現圖像和文件名的縮略圖。 選擇值將是圖像的路徑。Django - Dynamic ChoiceField - 靜態目錄中的所有圖像
我知道可以用jQuery UI and javascript做到這一點,但我想知道如何在窗體中動態生成選擇以獲得所需的視覺效果。
如果您有其他的想法,謝謝你的任何建議
動態表單(未完成):
需要輸入字段的filename_list = ???
path_list = ???
images_thumbnails_list = ???
class imagesForm(forms.Form):
def __init__(self, user, *args, **kwargs):
super(imagesForm, self).__init__(*args, **kwargs)
self.fields['selectedImage'] = forms.ChoiceField(choices=
for path in path_list: str(path),
for filename in filename_list: str(filename)
for thumbnail in images_thumbnails_list: thumbnail)
例如:
<select name="webmenu" id="webmenu">
<option value="calendar" data-image="icons/icon_calendar.gif">Calendar</option>
<option value="shopping_cart" data-image="icons/icon_cart.gif">Shopping Cart</option>
<option value="cd" data-image="icons/icon_cd.gif">CD</option>
<option value="email" selected="selected" title="icons/icon_email.gif">Email</option>
<option value="faq" data-image="icons/icon_faq.gif">FAQ</option>
<option value="games" data-image="icons/icon_games.gif">Games</option>
</select>
視覺例如:
謝謝,我認爲這是解決方案。我看到你把{{country.id}}作爲選擇值。是否可以把國家對象呢?我猜只有在save()方法的形式? –
你可以放置一個序列化的對象,但這將是一個非常糟糕的決定,我認爲你應該堅持ID,如果你有任何其他問題不要猶豫,並且如果你發現我的答案有幫助,請標記爲正確回答。 – amdorra
我已經測試過你的解決方案,它的工作非常接近,問題出在模板上,{%for country in field.choices%}沒有循環,可能是訪問選項的錯誤方法 –