[Django]下拉表单与模型查询

时间:2023-03-10 06:18:47
[Django]下拉表单与模型查询

前言:本文主要针对自定义下拉表单制作,下拉表单的内容是取至于数据库,即动态实现下拉表单

正文:

动态实现下拉表单有两种方法:

一、自己手动写 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,})