Как передать данные формы с одной страницы на другую с помощью FlaskApp
У меня есть форма "form.html", где пользователь может заполнить свою информацию, такую как имя, адрес, номер мобильного телефона и изображение. и у меня есть три html-страницы "info.html", "success.html" и "fail.html"
Я запрашиваю оплату от пользователя, поэтому info.html покажет информацию, заполненную пользователем, и позже он выполнит платеж, если платеж будет успешным, пользователь будет перенаправлен на файл "success.html", а если платеж не удастся, пользователь будет перенаправлен на "fail.html"
все три страницы одинаковы, отличается только одна строка, то есть статус платежа "в ожидании" или "успех"
Я могу напечатать информацию, заполненную пользователем, в "info.html", но я хочу напечатать ту же информацию на success.html или fail.html, если это необходимо.
rout.py:
@app.route('/form', methods=['GET', 'POST'])
def form():
global onlineAppForm, data
onlineAppForm = RegForm()
name = request.form['name'].strip()
father = request.form['father_name'].strip()
mother = request.form['mother_name'].strip()
address1 = request.form['txtAddress1'].strip()
data = {'name' : name, 'father' : father, 'mother' : mother, 'address1' : address1}
return render_template("apply1.html", data=data, form=onlineAppForm)
Я попытался сделать это, но, конечно, это не будет работать. так как я должен это сделать.
@app.route('/success')
def success():
return render_template('success.html', data=data, form=onlineAppForm)
1 ответ
Вам нужно будет настроить базу данных с помощью SQLAlchemy и создать модель. Форма просто собирает данные, необходимые для создания модели. Вот пошаговое руководство.
- Форма отправлена в конечную точку
- Создайте экземпляр модели и загрузите данные формы
- Сохранить в БД и перенаправить на страницу успеха (передать идентификатор объекта)
- запросить объект на успешном маршруте и передать в шаблон для рендеринга
Я написал пример, который, как я считаю, охватывает то, что вам нужно. Не хотелось писать шаблоны, но я уверен, что это должно сработать.
http://hastebin.com/puputugune.py
также проверьте https://flask-wtf.readthedocs.io/en/latest/ для получения дополнительной помощи
РЕДАКТИРОВАТЬ
в шаблоне вы можете получить доступ к атрибутам вашей модели так же, как и в представлении.
<!-- success.html -->
<ul>
<li>{{ person.id }}</li>
<li>{{ person.first_name }}</li>
<li>{{ person.last_name }}</li>
<li>{{ person.email }}</li>
</ul>