如何将 jquery datepicker 从模板传递到 python Django 中查看?

Posted

技术标签:

【中文标题】如何将 jquery datepicker 从模板传递到 python Django 中查看?【英文标题】:How to pass jquery datepicker from template to view in python Django? 【发布时间】:2015-01-06 22:37:43 【问题描述】:

我正在尝试使用 jquery-ui ,datepicker,将日期值传递给 views.py 我已经设置查询以使用 pyodbc 从 mysql 中提取数据,但不确定我在这里缺少什么。我是 Django 的新手。请帮忙。

模板

<form action = "" method="POST">% csrf_token %
  <p>Date: <input type="text" id="datepicker"></p>
</form>

datepicker.js

var stringDate = '2014-09-01T12:00:00+00:00'
var date = new Date(stringDate)
$(function() 
  $( "#datepicker" ).datepicker(
    minDate: date,
    maxDate: "dateToday",
    dateFormat: 'yy-mm-dd',);
);

views.py

DateInput = partial(forms.DateInput, 'class': 'datepicker')

class DateRangeForm(forms.Form):
    data_input = forms.DateField(widget=DateInput())

def rev_dollar(request):

    if request.method == "POST":
      mydate = DateRangeFrom()
    else: 
      mydate = now.date().isoformat()

    con_a= pyodbc.connect('DSN=')
    sql = """
          select a, b from table 
          where date = %s , (mydate) 
          """
    pd.read_sql(sql, con_a)

我想要的是如果没有选择表单,那么 mydate = curdate() mydate = '2014-10-01'

【问题讨论】:

我可以建议使用winpdb 设置断点。关注these instructions for setting the breakpoint。 【参考方案1】:

除了@Daniel Roseman 的回答

data_input = forms.DateField(auto_now_add=True, widget=forms.DateInput(attrs='class':'datepicker'))

【讨论】:

【参考方案2】:

你需要阅读关于 Django 表单的非常好的文档。

在您的代码中,您绝不会将 POST 请求的值传递给表单。此外,您没有做任何事情来消除表格中的日期。因此,毫不奇怪,您的代码不起作用。

这是你需要做的:

mydate = now.date().isoformat()
if request.method == 'POST':
    form = DateRangeFrom(request.POST)
    if form.is_valid():
        mydate = form.cleaned_data('data_input')

此外,您需要为您的 html 字段设置name 属性。虽然您已经定义了一个表单,但您应该使用它:

<form action = "" method="POST">% csrf_token %
     form.data_input 
    <input type="submit">
</form>

【讨论】:

以上是关于如何将 jquery datepicker 从模板传递到 python Django 中查看?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery UI datepicker:如何将下拉列表中的月份名称从短名称更改为长名称?

试图弄清楚如何从 jquery datepicker 中删除假期

jQuery:如何从与 datepicker 插入日期的输入字段不同的元素中激活 datepicker?

从字符串/django 对象获取 datepicker defaultdate

Jquery Datepicker - 从 mysql 数据库启用日期

如何从 jQuery UI datepicker 获取日期