Доброго дня, коллеги.
Хочу на сайте организовать двух-шаговую регистрацию. Смысл понятен всем - видя меньше количество полей пользователь охотнее регистрируется. Сейчас все организовал так, как опишу ниже, но я не могу передать данные формы со страницы регистрации 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>