[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,})

 

posted @ 2016-01-15 14:46  CQ_LQJ  阅读(4566)  评论(0编辑  收藏  举报