zoukankan      html  css  js  c++  java
  • 根据前端时间范围-后端进行时间范围数据库查询

    一、场景

    1. 从前端获取时间范围
    2. 时间范围作为参数传递给后端
    3. 后端将时间范围参数转换datetime类型
    4. 根据时间范围进行数据库查询

    二、功能实现

    1. 前端获取时间范围
      <form action="/datetime" method="post">
           <input type="date" value="2020-01-01" name="s_time"/>
           <input type="date" value="2020-01-10" name="e_time"/>
           <input type="submit" value="查询">
      </form>
    2. 后端接受参数
      • 个人采用tornado框架;不同python_web框架获取参数不同,根据自己框架修改获取参数
      import datetime
      
      class DateTimeHandler(BaseHandler):
          def get(self):
              # 渲染template给前端
              self.render("datetime.html", title="Method: GET, This is DateTimeHandler")
      
          def post(self):
              # 从前端form表单 获取时间范围参数
              start_time = self.get_argument("s_time")
              end_time = self.get_argument("e_time")
              s_time = str_to_datetime(start_time)  # 前端获取参数为str格式,将str转换datetime类型,方法在下面
              e_time = str_to_datetime(end_time)
              queryset = OrderInfo.get_by_date_scope(s_time, e_time)
              self.write("ok")
      
      def str_to_datetime(str_time):
          # str_time = '2020-01-01'
          date_time = datetime.datetime.strptime(str_time, '%Y-%m-%d')
          return date_time
    3. 数据库查询方法
      def get_by_date_scope(s_time, e_time):
          queryset = db.session.query(OrderInfo).filter(OrderInfo.c_time >= s_time).filter(OrderInfo.c_time <= e_time).all()
          return queryset
    4. queryset反序列化,返回给前端查询到的数据
  • 相关阅读:
    感觉跟奇怪
    人多
    淡忘
    可疑
    js判断对象是否为空对象的几种方法
    互联网隐私泄漏
    清明时节
    垃圾mac
    【ES6】---JavaScript(二)
    【微信小程序】---Socket聊天功能实现
  • 原文地址:https://www.cnblogs.com/yblackd/p/14533383.html
Copyright © 2011-2022 走看看