[英]How to Display value in Drop-down in Django Template?
我正在嘗試從數據庫的下拉列表中顯示值,並且我通過id
獲取值,但它只顯示一個保存在我的數據庫中的值。 但我想要所有下拉值。 請讓我知道如何在下拉列表中顯示所有值。
這是我的models.py
文件,其中編寫了下拉代碼...
TYPES = [
('A', 'Active'),
('D', 'Not Active'),
]
並且這些值使用選項以另一種模式保存,並且A
和D
存儲在我的數據庫中。 這是我的views.py
文件..
def getdata(request, id):
display=Mymodel.objects.filter(pk=id).first()
context={'display':display}
return render(request, 'page.html', context)
這是我的page.html
文件,我在下拉列表中顯示數據..
<select name='types'>
<option value="{{display.types}}">{{display.get_types_display}}
</option>
</select>
但這僅顯示在下拉Active
值中,但我想要這兩個值,我想使用此表單編輯數據。 並且如果A
保存在我的數據庫中,那么在默認情況下應該選擇Active
,如果D
保存在我的數據庫中,那么默認情況下應該選擇Not Active
,其余值應該顯示在下拉列表中。
如果你想要有表單並且能夠添加數據,那么你需要在 forms.py 中創建模型表單。 不幸的是,您還沒有編寫模型代碼,只是您希望使用的選項(添加 Mymodel 定義 - 它應該命名為 MyModel 以符合 Camel 表示法,但這不是錯誤)。
在您的 Mymodel 中,您應該有這樣的字段:
some_type = models.CharField(max_length=1, choices=TYPES)
當您在表單中使用模型時,您應該使用稱為 ModelForm 的特殊版本的表單。 它是這樣定義的:
class MymodelForm(ModelForm):
class Meta:
model = Mymodel
fields = '__all__'
some_type = ModelChoiceField(
widget=forms.RadioSelect,
)
您還應該更新您的 views.py,但這通常是在 Django 中完成的方式。
查看這個類似的問題: Dropdown in Django Model並參考 Val F 的回答
或查看官方 Django 文檔
將類型轉換為元組
TYPES = (
('A', 'Active'),
('D', 'Not Active'),
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.