При добавлении жизненно важного компонента methods=["POST", "GET"]
мой код выдает ошибку:
Line 127, in PatientDashboard
""".format(Data[0][0]))
IndexError: list index out of range
Я понимаю, что обычно означает эта ошибка, но я не понимаю, как добавлять методывлияет на размер моего списка.
@app.route("/PatientDashboard.html", methods=["GET", "POST"])
def PatientDashboard():
Username = (request.args.get("Username"))
Connection = sqlite3.connect(DB)
Cursor = Connection.cursor()
Data = Cursor.execute("""
SELECT *
FROM PatientTable
WHERE Username = '{}'
""".format(Username))
Data = Data.fetchall()
AllAppointments = Cursor.execute("""
SELECT Title, Firstname, Surname, TimeSlot, Date, Status
FROM AppointmentTable
INNER JOIN DoctorTable ON AppointmentTable.DoctorID = DoctorTable.DoctorID
WHERE PatientID = '{}'
""".format(Data[0][0]))
AllAppointments = AllAppointments.fetchall()
Операторы SQL работают отлично (база данных не пуста), и при добавлении print(Data)
после первого оператора SQL выводится вложенный список.
Я пытался устранить неполадки, рассматривая различные другие вопросы о потоке стека, но безуспешно.
Заранее большое спасибо.
РЕДАКТИРОВАТЬ 1:
Username = (request.args.get("Username"))
print("Username: ", Username)
Дает правильный вывод, например, Username: nx_prv
, но после использования запроса POST вывод становится Username: None
.
РЕДАКТИРОВАТЬ 2:
Мне удалось исправить это с помощью flask.sessions
.Проблема заключалась в том, что request.args.get("Username")
каждый раз получал «сброс».