Я новичок во Flask, поэтому постараюсь объяснить все.
Я создаю приложение для викторины с использованием Python / Flask.По сути, я хотел бы, чтобы в моем HTML-шаблоне отображался вопрос на основе номера вопроса, указанного в URL.
Мои вопросы и ответы хранятся в словаре кортежей, например:
[{question 1, answer 1}, {question 2, answer 2}, {question 3, answer 3}]...
Я хочу, чтобы моя структура выглядела следующим образом:
@app.route('/<username>/<question_number>', methods=["GET", "POST"])
def ask_questions(question_number):
questions = get_all_questions()
return render_template("riddle1.html", question=questions, question_number=1)
Обратите внимание, функция get_all_questions () возвращает словарь вопросов / ответов.
HTML:
<body>
<h1>Welcome, {{ username }} to RiddleMeThis!</h1>
<p>{{ question[i][0] }}</p>
<form method="POST">
<label for="guess">Answer:</label>
<input type="text" id="guess" name="guess">
<button>Enter</button>
</form>
</body>
Идея состоит в том, что, если URL для равен 1, он извлекает вопрос из словаря кортежей, который будет [0] [0].Для вопроса 2: [1] [0], для вопроса 3 [2] [0] и т. Д.
При ответе на страницу будет перенаправлен на страницу, которая сравнивает ответ пользователя с ответом в кортеже,Если все правильно, он перенаправляется на последнюю страницу, но с теперь равным 2. Если он неправильный, он просто возвращается на последнюю страницу.
Я сделал несколько спинов на этом и действительно изо всех сил стараюсь разобратьсякак сначала вставить номер в URL, а затем также связать этот номер со словарем - полностью потеряно !!
Кто-нибудь может указать мне направление?
Заранее спасибо.