1

我正在使用仪表板项目,它有一个仪表板,它确实根据从日期选择器中选择的日期构建查询,目前我能够使用 Flask DateField 表单实现日期选择器,它确实按预期工作。

class ExampleForm(Form):
    dt = DateField('DatePicker', format='%Y-%m-%d')
    dt2 = DateField('DatePicker', format='%Y-%m-%d')


<form action="" method="POST">
    {{ form.hidden_tag() }}
   <a> Start Date {{ form.dt(class_='datepicker') }}</a>
   <a> End Date {{ form.dt2(class_='datepicker') }}</a>
<button class="w3-button w3-round-xlarge w3-teal w3-small w3-border " type="submit" value="submit"><b>Submit</b></button>
</form>

我想实现一个更友好的解决方案,例如https://www.daterangepicker.com/#example4,我可以在其中选择多个选项或日期范围。

这可以通过 flask_wtf 实现吗?

我正在寻找其他问题的答案,但尚未成功

<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />

<form method="GET">
        <input type="hidden" id="start" name="startDate">
        <input type="hidden" id="end" name="endDate">
<div id="reportrange" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
    <i class="fa fa-calendar"></i>&nbsp;
    <span></span> <i class="fa fa-caret-down"></i>
</div>
<input type="submit">

<script type="text/javascript">
    $(function () {

        var start = moment().subtract(29, 'days');
        var end = moment();

        function cb(start, end) {
            $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
        }

        $('#reportrange').daterangepicker({
            startDate: start,
            endDate: end,
            ranges: {
                'Today': [moment(), moment()],
                'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
                'Last 7 Days': [moment().subtract(6, 'days'), moment()],
                'Last 30 Days': [moment().subtract(29, 'days'), moment()],
                'This Month': [moment().startOf('month'), moment().endOf('month')],
                'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
            }
        }, cb);

        cb(start, end);

    });
</script>
</form>  

我无法将选定的值返回到我的烧瓶函数。

任何指南或帮助将不胜感激

4

0 回答 0