zoukankan      html  css  js  c++  java
  • [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,})
    
  • 相关阅读:
    Codeforces 1196E. Connected Component on a Chessboard
    Codeforces 1196C. Robot Breakout
    Codeforces 1194E. Count The Rectangles
    Codeforces 1194D. 1-2-K Game
    Codeforces 1194C. From S To T
    Codeforces 1194B. Yet Another Crosses Problem
    Codeforces 1194A. Remove a Progression
    Codeforces 1201E2. Knightmare (hard)
    关于cookie
    关于js的addEventListener 和一些常用事件
  • 原文地址:https://www.cnblogs.com/CQ-LQJ/p/5133303.html
Copyright © 2011-2022 走看看