Хочу на сайте организовать двух-шаговую регистрацию. Смысл понятен всем - видя меньше количество полей пользователь охотнее регистрируется. Сейчас все организовал так, как опишу ниже, но я не могу передать данные формы со страницы регистрации 1 на страницу регистрации 2 для обработки формы.
views.py
@mod.route('/welcome/1', methods=['GET', 'POST']) def register_step1(): form = RegisterForm1(request.form) if request.method == 'POST': if form.validate(): values = {'first_name': form.first_name.data, 'age': form.age.data, 'gender': form.gender.data, 'search_gender': form.search_gender.data} return redirect(url_for('.register_step2', values=values)) else: return "No validate: {0}".format(dict(request.form)) return render_template('register1.html', form=form) @mod.route('/welcome/2', methods=['GET', 'POST']) def register_step2(values): form = RegisterForm2(request.form) if request.method == 'POST': dic = { 'values': values, } return Response(json_util.dumps(dic), mimetype='application/json') return render_template('register2.html', form=form)
register1.html (форма 1)
<form method="POST" action="/welcome/1" enctype="multipart/form-data"> {{ form.csrf_token }} <table> {% for field in form %} <tr> <td>{{ field.label }}</td> <td>{{ field }}</td> </tr> {% endfor %} </table> <input type=submit value="To Step 2"> </form>
register2.html (форма 2)
<form method="POST" action="/welcome/2" enctype="multipart/form-data"> {{ form.csrf_token }} <table> {% for field in form %} <tr> <td>{{ field }}</td><td>{{ field.label }}</td> </tr> {% endfor %} </table> <input type=submit value="Registration"> </form>