首页 > 解决方案 > 如何将开始和结束日期从html页面传递到views.py(django)

问题描述

我在我的 django 项目中使用 daterangepicker,需要知道如何将开始日期和结束日期传递给 views.py (DJANGO) 以便进一步处理并获取报告。

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

                $(function () {
                  $('input[name="daterange"]').daterangepicker({
                    opens: 'left',
                    showDropdowns: true,
                    "drops": "auto",
                    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')]
                    }
                  }, function (start, end, label) {
                    console.log("A new date selection was made: " + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
                  });

                });
              </script>
<div>

                <input type="text" name="daterange" />
                {% csrf_token %}
              </div>

标签: django

解决方案


request.method 我遇到了你的问题,你必须像这样在里面输入你的输入值

def reportgeneration(request):
  if request.method == "POST":
    start_date = request.POST.get('daterange')
    print(start_date)

更新

您必须在form标签内添加所有字段,例如。<form>..here all inputs..</form>

<div>
  <form action="{% url 'reportgeneration' %}" method="POST">
  {% csrf_token %}
   <input type="text" name="daterange" />
   <input type="submit" value="Submit">
  </form>
</div>

推荐阅读