Исходные данные.
forms.py:
class AddCardForm(Form):
feature = TextField(u'Свойство', validators=[Required(), Length(max=15)])
article = TextField(u'Артикль', validators=[Required(), Length(max=15)])
price = IntegerField(u'Цена в EUR', validators=[Required()])
views.py:
@app.route('/admin/add/', methods=['GET', 'POST'])
@requires_auth
def add_item():
try:
properties
except NameError:
properties = []
form = AddCardForm(request.form, csrf_enabled=True)
if request.method == 'POST' and request.form['btn'] == 'Add Property' :
<b>properties.append({u'feature': form.feature.data, u'article': form.article.data, u'price': form.price.data})</b>
return render_template('/admin/add.html', form=form, properties=properties)
templates/add.html
<form action="" method="post" enctype="multipart/form-data">
{% if properties %}
{% for i in properties %}
Свойство: {{ i['feature'] }}<br>
Артикл: {{ i['article'] }}<br>
Цена: {{ i['price'] }}<br>
{% endfor %}
{% endif %}
{{ form.feature.label }} : {{ edit_field(form.feature) }} <br>
{{ form.article.label }} : {{ edit_field(form.article) }} <br>
{{ form.price.label }} : {{ edit_field(form.price) }} <br>
<p><input type="submit" name="btn" value="Add Property"></p>
Проблема в том, что properties, который в последствии должен пойти в базу не наполняется свойствами с помощью list.append() а только перезаписывает значения.
Что я делаю не так? =(