Extended function to store form data

This commit is contained in:
Sauer 2019-04-12 17:48:43 +02:00
parent 8726da8228
commit c605c89f39
3 changed files with 30 additions and 10 deletions

View File

@ -14,7 +14,7 @@ class QuestionForm(Form):
username = StringField('Name', [validators.Length(min=4, max=25)]) username = StringField('Name', [validators.Length(min=4, max=25)])
spirit_animal = SelectField(u'Spirit Animal', choices=[('feuer', 'Feuerfuchs'), ('wasser', 'Wasserhahn'), ('erde', 'Erdferkel'), ('luft', 'Luftschlange')]) spirit_animal = SelectField(u'Spirit Animal', choices=[('feuer', 'Feuerfuchs'), ('wasser', 'Wasserhahn'), ('erde', 'Erdferkel'), ('luft', 'Luftschlange')])
vegetable = SelectField(u'Gemüse') vegetable = SelectField(u'Gemüse')
check = BooleanField('Bitte hier ankreuzen') check = BooleanField('Bitte nicht ankreuzen')
class User(): class User():
name = '' name = ''
@ -28,12 +28,19 @@ def questions():
form = QuestionForm(request.form) form = QuestionForm(request.form)
form.vegetable.choices = [('tomate', 'Tomate'), ('erdnuss', 'Erdnuss')] form.vegetable.choices = [('tomate', 'Tomate'), ('erdnuss', 'Erdnuss')]
if request.method == 'POST' and form.validate(): if request.method == 'POST' and form.validate():
user = User() with open(datafile, "a", newline='') as f:
user.name = form.username new_row = list()
spirit = request.form['spirit_animal'] new_id = generate_id()
print(spirit) new_row.append(new_id)
# user.save() for item in request.form:
return redirect(url_for('result')) new_row.append(request.form[item])
writer = csv.writer(f)
writer.writerow(new_row)
# user = User()
# user.name = form.username
# spirit = request.form['spirit_animal']
# user.save()
return redirect(url_for('result'))
return render_template('questions.html', form=form) return render_template('questions.html', form=form)
@app.route('/form') @app.route('/form')

View File

@ -0,0 +1,13 @@
{% macro render_field(field) %}
{% for field in form %}
<tr>
{% if field.type == "BooleanField" %}
<td></td>
<td>{{ field }} {{ field.label }}</td>
{% else %}
<td>{{ field.label }}</td>
<td>{{ field }}</td>
{% endif %}
</tr>
{% endfor %}
{% endmacro %}

View File

@ -6,8 +6,8 @@
{{ render_field(form.username) }} {{ render_field(form.username) }}
{{ render_field(form.spirit_animal) }} {{ render_field(form.spirit_animal) }}
{{ render_field(form.vegetable) }} {{ render_field(form.vegetable) }}
{{ render_field(form.check) }} {{ form.check }} {{ form.check.label }}
</dl> </dl>
<p><input type=submit value=Register> <p><input type=submit value=Abschicken>
</form> </form>
{% endblock %} {% endblock %}