![[Django]下拉表单与模型查询 [Django]下拉表单与模型查询](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700)
前言:本文主要针对自定义下拉表单制作,下拉表单的内容是取至于数据库,即动态实现下拉表单
正文:
动态实现下拉表单有两种方法:
一、自己手动写 html 模板中的 <form ...> </form>
在views 中,将所需要的数据传递过去,比如 names_list = [1, 2, 3, 4]
在 html 中
<select>
{% for x in name_list %}
<option value ="{{ x }}">{{ x }}</option>
{% endfor %}
</select>
二、使用 Form 自动生成表单
这就需要在 views 中 动态初始化表单
具体的内容自己查 相应版本的 django文档去,关键字查找模型表单
这里采用第一种方法,例:
HTML模板:
<select name="时间">
{%for downlist_tim in downlist_tim%}
<option value="{{downlist_tim.finish_time}}">{{downlist_tim.finish_time}}</option>
{%endfor%}
<option value="请选择时间" selected="selected">请选择时间</option>
</select>
views视图函数:
from django.shortcuts import render from keywork.models import LOrder downlist_tim = LOrder.objects.raw('SELECT DISTINCT id,finish_time FROM keywork_lorder group by finish_time') #或者这里可以换成downlist_tim = LOrder.objects.values('finish_time').distinct(),这里使用数据库为mysql,有个剔重问题下章讲到! return render(request, 'keywork/index.html',{'downlist_tim':downlist_tim,})