【发布时间】:2022-09-23 16:30:03
【问题描述】:
我创建了一个 CRUD flask web 应用程序来安排卡车预约。我有一个 HTML 表单,用户在其中输入开始和结束日期,网页显示该期间数据库中的约会。
对于用户只输入开始日期而不输入结束日期的情况,我想将“结束日期”设置为 2050-01-01,以便用户可以看到开始日期之后的所有约会。
我试图在我的 index() 视图函数中编写一个 if 语句,但我不知道正确的语法。这就是我想要做的伪代码:
if the (end date).value.length = 0, then
end date = \'2050-01-01\'
else
search_date_end = request.args.get(\'end_date_filter\')
应用程序.py:
@app.route(\'/\', methods=[\'GET\', \'POST\'])
def index():
search_date_start = request.args.get(\'start_date_filter\')
search_date_end = request.args.get(\'end_date_filter\')
appts = appts_db.query \\
.filter(appts_db.pickup_date.between(search_date_start, search_date_end)) \\
.order_by(appts_db.pickup_date).all()
return render_template(\'index.html\', appts=appts)
索引.html:
<h3>Appointment List:</h3>
<table>
<tr>
<th>Carrier</th>
<th>Material</th>
<th>Pickup Date [YYYY-MM-DD]</th>
</tr>
{% for appt in appts %}
<tr>
<td>{{ appt.carrier }}</td>
<td>{{ appt.material }}</td>
<td>{{ appt.pickup_date }}</td>
</tr>
{% endfor %}
</table>
<form action=\"/\" method=\"GET\">
<label for=\"start_date_filter\">Choose a start date:</label>
<input type=\"date\" id=\"start_date_filter\" name=\"start_date_filter\"
min=\"2022-01-01\"><br>
<label for=\"end_date_filter\">Choose an end date:</label>
<input type=\"date\" id=\"end_date_filter\" name=\"end_date_filter\"
min=\"2022-01-01\"><br>
<input type=\"submit\" value=\"Filter Appointments\">
</form>
标签: python date flask filter sqlalchemy