Worked on form with WTForms
This commit is contained in:
parent
cbd683becc
commit
8726da8228
@ -1,7 +1,8 @@
|
|||||||
from flask import Flask, render_template
|
from flask import Flask, render_template, request, redirect, url_for
|
||||||
import uuid
|
import uuid
|
||||||
import csv
|
import csv
|
||||||
import os
|
import os
|
||||||
|
from wtforms import Form, StringField, SelectField, BooleanField, validators
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.jinja_env.trim_blocks = True
|
app.jinja_env.trim_blocks = True
|
||||||
@ -9,10 +10,32 @@ app.jinja_env.lstrip_blocks = True
|
|||||||
|
|
||||||
datafile = "data.csv"
|
datafile = "data.csv"
|
||||||
|
|
||||||
|
class QuestionForm(Form):
|
||||||
|
username = StringField('Name', [validators.Length(min=4, max=25)])
|
||||||
|
spirit_animal = SelectField(u'Spirit Animal', choices=[('feuer', 'Feuerfuchs'), ('wasser', 'Wasserhahn'), ('erde', 'Erdferkel'), ('luft', 'Luftschlange')])
|
||||||
|
vegetable = SelectField(u'Gemüse')
|
||||||
|
check = BooleanField('Bitte hier ankreuzen')
|
||||||
|
|
||||||
|
class User():
|
||||||
|
name = ''
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
def index():
|
def index():
|
||||||
return render_template('index.html', title='Test', text='Hallo, Fooboar')
|
return render_template('index.html', title='Test', text='Hallo, Fooboar')
|
||||||
|
|
||||||
|
@app.route('/questions', methods=['GET', 'POST'])
|
||||||
|
def questions():
|
||||||
|
form = QuestionForm(request.form)
|
||||||
|
form.vegetable.choices = [('tomate', 'Tomate'), ('erdnuss', 'Erdnuss')]
|
||||||
|
if request.method == 'POST' and form.validate():
|
||||||
|
user = User()
|
||||||
|
user.name = form.username
|
||||||
|
spirit = request.form['spirit_animal']
|
||||||
|
print(spirit)
|
||||||
|
# user.save()
|
||||||
|
return redirect(url_for('result'))
|
||||||
|
return render_template('questions.html', form=form)
|
||||||
|
|
||||||
@app.route('/form')
|
@app.route('/form')
|
||||||
def form():
|
def form():
|
||||||
id = generate_id()
|
id = generate_id()
|
||||||
|
|||||||
12
templates/_formhelpers.html
Normal file
12
templates/_formhelpers.html
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{% macro render_field(field) %}
|
||||||
|
<dt>{{ field.label }}
|
||||||
|
<dd>{{ field(**kwargs)|safe }}
|
||||||
|
{% if field.errors %}
|
||||||
|
<ul class=errors>
|
||||||
|
{% for error in field.errors %}
|
||||||
|
<li>{{ error }}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{% endif %}
|
||||||
|
</dd>
|
||||||
|
{% endmacro %}
|
||||||
13
templates/questions.html
Normal file
13
templates/questions.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block content %}
|
||||||
|
{% from "_formhelpers.html" import render_field %}
|
||||||
|
<form method=post>
|
||||||
|
<dl>
|
||||||
|
{{ render_field(form.username) }}
|
||||||
|
{{ render_field(form.spirit_animal) }}
|
||||||
|
{{ render_field(form.vegetable) }}
|
||||||
|
{{ render_field(form.check) }}
|
||||||
|
</dl>
|
||||||
|
<p><input type=submit value=Register>
|
||||||
|
</form>
|
||||||
|
{% endblock %}
|
||||||
Loading…
x
Reference in New Issue
Block a user