如何将值从Django模板传递给View

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将值从Django模板传递给View相关的知识,希望对你有一定的参考价值。

我需要将日期范围从模板传递到视图,因此可以通过该范围过滤图表,但我无法获得日期范围值。

我正在使用Django 2,我有一段时间试图解决这个问题。

有人可以暗示一下吗?

<div class="card-header">
    <form class="form-group mb-xl-0 float-right" method="get">
    <button id="send" name="button" >send</button>                            
        <div id="reportrange" class="overflow-hidden form-control" name="ref_date2">
            <input class="far fa-calendar" name="ref_date">
            <span></span> <i class="fas fa-caret-down" name="ref_date3"></i>
        </div>
    </form>                        
    <h5 class="card-title">Eficiencia por Rango de Horas</h5>

</div>

<script>
     var send = document.getElementById("send");
     send.addEventListener("click", function()
     {
         var startDate = $('#reportrange').data('daterangepicker').startDate;
         var content = encodeURIComponent(document.getElementByName("ref_date").value);
         var endDate = "HOLA";
     }
     function myFunction() {
         var d = 100

         console.log(d);
                    }
</script>   
<script>

            document.addEventListener("DOMContentLoaded", function(event) {

                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>

查看:Python

class RevPashPageView(TemplateView):
    template_name = "softrest/revPash.html"

    def get(self, request, *args, **kwargs):
        content = request.GET.get('content', None)
        print("TEXTO - " + str(content))


        return render(request, self.template_name, {'output':output})
答案

request.GET dict中变量的关键是输入字段的name

class RevPashPageView(TemplateView):
    template_name = "softrest/revPash.html"

    def get(self, request, *args, **kwargs):
        content = request.GET.get('content', None)
        print("TEXTO - " + str(content))

        date_range = request.GET.get("ref_date", None)  # This is your variable

        return render(request, self.template_name, {'output':output})


以上是关于如何将值从Django模板传递给View的主要内容,如果未能解决你的问题,请参考以下文章

将值从 fullCalendar 单击传递到 Django 模板

如何将值从 django 模板化 html 传递到 ajax

如何将值从 javascript 函数传递到 django 视图

如何将值从其他活动传递给 viewpager 片段?

如何将值从片段/活动传递到 xml?

如何将值从 html 传递到 django 中查看?