Цель этого фрагмента кода - попросить пользователей ввести определенную дату и время. Входные данные следует отправлять из формы HTML в app.py, а сценарий python должен проверять ввод и отображать «доступные киоски» соответственно.
Я пробовал это:
<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:
resultstruct_time = time.strptime(reservationtime,"%Y-%m-%d %H:%M")
reservationDayID = resultstruct_time(6) + 1
reservationHour = resultstruct_time(3)
И ошибка, которую я получаю:
TypeError: аргумент strptime () 0 должен быть str, а не классом 'NoneType'
Может ли кто-нибудь помочь мне решить эту проблему, сказав, как изменить вход в str, сохраняя при этом тип ввода как "Дата и время-местный?»Спасибо!
Редактировать: Кажется, что HTML-форма ничего не возвращает Python. Но почему это происходит? Есть ли способ вернуть желаемое значение «bookingtime»? Ниже приведен репост всего соответствующего кода:
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>
Спасибо!