如何返回“a”的值;“本地日期时间”;从HTML到python的字符串输入类型
这段代码的目的是要求用户输入特定的日期和时间。输入应该从HTML表单发送到app.py,python脚本应该检查输入并相应地显示“可用暂停” 我试过这个:如何返回“a”的值;“本地日期时间”;从HTML到python的字符串输入类型,python,html,flask,Python,Html,Flask,这段代码的目的是要求用户输入特定的日期和时间。输入应该从HTML表单发送到app.py,python脚本应该检查输入并相应地显示“可用暂停” 我试过这个: <div class="row"> <div class="col-md-12"> <div class="box box-primary"> <div class="box-header"> <h3 class="box-t
<div class="row">
<div class="col-md-12">
<div class="box box-primary">
<div class="box-header">
<h3 class="box-title">Please select a date & time to view available stalls : </h3>
</div>
<div class="box-body">
<form method="POST" action="">
<div class="form-group">
<label>Date and time range:</label>
<div class="input-group">
*****<input type="datetime-local" id="reservationtime"
name="reservationtime" value="2019-11-15T14:30"
min="2019-01-01T00:00" max="2030-12-31T00:00">*****
</div>
<button type = "submit" class="btn btn-primary">Submit</button>
<!-- /.input group -->
</div>
</form>
</div>
</div>
</div>
</div>
我得到的错误是:
TypeError:strTime()参数0必须是str,而不是类“NoneType”
谁能帮我解决这个问题,告诉我如何将输入更改为str,同时保持输入类型为“datetime local?”谢谢
编辑:HTML表单似乎没有向python返回任何内容。但为什么会这样呢?有没有办法传回所需的“reservationtime”值?下面是所有相关代码的重新发布:
python:
@app.route("/FilterStallsPage",methods = ["GET","POST"])
def DisplayFilterStallsPage():
stallsInfoDict, availableStallsCount = filterAvailableStalls()
return render_template('FilterStallsPage.html',stallsInfoDict = stallsInfoDict, \
totalStalls = len(stallsInfoDict), availableStalls = availableStallsCount)
def getReservationTime():
if request.method == "POST":
reservationtime = request.form["reservationtime"]
return reservationtime
def filterAvailableStalls():
reservationtime = getReservationTime()
resultstruct_time = time.strptime(str(reservationtime),"%Y-%m-%d %H:%M")
reservationDayID = resultstruct_time(6) + 1
reservationHour = resultstruct_time(3)
(the rest block of irrelevant code not included)
HTML:
<div class="row">
<div class="col-md-12">
<div class="box box-primary">
<div class="box-header">
<h3 class="box-title">Please select a date & time to view available stalls : </h3>
</div>
<div class="box-body">
<form method="POST" action="">
<div class="form-group">
<label>Date and time range:</label>
<div class="input-group">
*****<input type="datetime-local" id="reservationtime"
name="reservationtime" value="2019-11-15T14:30"
min="2019-01-01T00:00" max="2030-12-31T00:00">*****
</div>
<button type = "submit" class="btn btn-primary">Submit</button>
<!-- /.input group -->
</div>
</form>
</div>
</div>
</div>
</div>
请选择查看可用摊位的日期和时间:
日期和时间范围:
**********
提交
谢谢大家! 我猜不会有任何回报。您可以尝试在python接收响应的位置添加print。打印接收到的响应类型,然后从此处开始调试。尝试将类型转换为字符串。尝试检查是否没有返回任何内容。有时什么也不返回,它是一个非类型对象
print(type(reservationtime) ) #debugging
print(reservationtime) #debugging
resultstruct_time = time.strptime(str(reservationtime),"%Y-%m-%d %H:%M")
编辑帮助调试
def getReservationTime():
if request.method == "POST":
print('made to POST')
return "test-string"
#reservationtime = request.form["reservationtime"]
#return reservationtime
好的,如果你得到了打印,并且它没有返回非类型,这意味着你只需要修复注释行。
如果它没有到达那里,您必须修复处理生成帖子的get reservation代码。我对flask的研究还不够充分,无法给你准确的答案,请继续摆弄它,看看是否有帖子请求出现。谢谢!我试过你的方法,但似乎什么都没有得到。你能帮我看看问题中经过编辑的部分,看看能做些什么吗?希望这能帮上忙谢谢!我设法弄明白了。发生此错误是因为从未到达“POST”,在“GET”过程中出现了错误。
def getReservationTime():
if request.method == "POST":
print('made to POST')
return "test-string"
#reservationtime = request.form["reservationtime"]
#return reservationtime