python - 未填充 Django 下拉列表
问题描述
我希望我的下拉列表中填充来自我的 Django 项目中我的一个数据库表的值,但它仍然是空白的,我不知道为什么。
这是我的 home.html 页面的 html 代码:
<select name="regions" id="regions">
{% for item in regions_list %}
<option val="{{ item.name_reg }}"> {{ item.name_reg }} </option>
{% endfor %}
</select>
模型.py:
class data_reg(models.Model):
id = models.AutoField(primary_key=True)
name_reg = models.TextField(db_column='NAME_REG', blank=True, null=True)
class Meta:
managed = True
db_table = 'reg'
视图.py:
def MyView(request):
regions_list = RegionChoiceField()
query_results_dict = {
'regions_list': regions_list,
}
return render(request,'home.html', query_results_dict)
表格.py:
class RegionChoiceField(forms.Form):
regions = forms.ModelChoiceField(
queryset=data_immo.objects.values_list("name_reg", flat=True).distinct(),
empty_label=None
)
解决方案
将 ModelChoiceField 传递给上下文时,我认为模板应该不同。
{% for item in regions_list %}
<option val="{{ item.name_reg }}"> {{ item.name_reg }} </option>
{% endfor %}
改成
{% for item in regions_list %}
{{ item }}
{% endfor %}
甚至更简单,只需将您的表单放入模板中
{{regions_list}}
希望这行得通,
问候肯
推荐阅读
- css - 在 ckeditor 的 contents.css 中添加/更新版本号
- javascript - 将字符串数组转换为具有不同键JS的对象数组
- material-design - 我无法更新材料网络数据表中的数据
- python - 从 Dataframe insert turfpy 中删除 (' 或 [] )
- python - 在数独板的框中打印出元素
- python - language_tool_python - 类型错误:无法腌制 _thread.lock 对象
- dataframe - 模块“pandas.util.testing”没有属性“makeMissingDataFrame”
- flutter - 如何在调用 Flutter 后立即触发 Timer.periodic 函数
- javascript - kendo - mutiselect - 在渲染时加载微调器
- python - 如何在外部应用程序中读取包文件时找到它的结尾