我有一个超文本标记语言模板,让用户选择一个日期通过jQuery日期选择器。
如何将所选日期传递到操作中?
这个想法是,用户选择一个日期,然后通过app.route("/date/<date>")
传递给Flask的route.py
calendar.html
{% block topscripts %}
<link rel="stylesheet" type="text/css" href= "{{ url_for('static',filename='styles/calendar.css') }}">
<script>
$(function() {
$("#datepicker").datepicker({dateFormat: 'yy-mm-dd'});
});
</script>
{% endblock %}
{% block content %}
<form method="post" action="{{ url_for('specific_date', date='2019-04-11') }}">
<p>Date: <input type="text" id="datepicker" name='go-to-date'></p>
<input type="hidden" name="calendar-form">
<input type="submit">
</form>
{% endblock %}
因此,当用户在datepicker
ID中选择日期时,我希望将该日期传递给url_for
。目前,我硬编码日期(2019-04-11
)只是为了检查它是否正常工作,确实如此。我如何才能使该部分对用户在日历中选择的任何内容保持动态?
...If它有帮助,这里是在routes.py中(default_template()
是最终呈现模板的函数):
@app.route("/date/<date>/", methods=["GET", "POST"])
def specific_date(date):
print("\n\nDate:", date, "\n\n")
images = get_files_on(date)
print("\n\nSpecific date images:", images)
return default_template(date=date, image_list=images)
发布于 2019-04-17 07:33:29
向/date
路由发出POST请求,如下所示。
对calendar.html
的更改
{% block content %}
<form method="post" action="{{ url_for('specific_date') }}">
<p>Date: <input type="text" id="datepicker" name='go-to-date'></p>
<input type="hidden" name="calendar-form">
<input type="submit">
</form>
{% endblock %}
对date
路由的更改:
from flask import request
# only allow POST request method
@app.route("/date/", methods=["POST"])
def specific_date():
# getting the date from the POST request
date = request.form['go-to-date']
print("\n\nDate:", date, "\n\n")
images = get_files_on(date)
print("\n\nSpecific date images:", images)
return default_template(date=date, image_list=images)
https://stackoverflow.com/questions/55715905
复制相似问题