gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:13 27 4
gpt4 key购买 nike

我正在尝试使用 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() <- 在 sql 中,如果选择日期,则 mydate = '2014-10-01' <- 日期选择

最佳答案

您需要阅读有关 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 - 如何将 jquery datepicker 从模板传递到 python Django 中查看?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26846952/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com