Ich möchte ein Modell für flask-wtforms erstellen, in dem die Werte der Dropdown-Selektoren bereits im Modell definiert sind, da sie immer gleich sind. Ich habe versucht, die folgenden:wtforms: Dropdown-Selektor mit Werten definiert in Modellklasse
class DroppdownForm(Form):
fields = {}
df = pd.read_excel(open('formfile.xlsx', 'rb'), sheetname='Sheet1')
df.fillna(value='NA', inplace=True)
form_fields = ['COLUMN1', 'COLUMN2', 'COLUMN3']
for form_field_name in form_fields:
fields[form_field_name] = SelectField(form_field_name, sorted(df[form_field_name].unique().tolist()), description=form_field_name)
die Ansicht:
def show_entries():
form=DroppdownForm()
return render_template('index.html', form=form)
Als ich es dann mit
{% 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 %}
{% for field in form %}
{{ render_field(field) }}
{% endfor %}
Die Form, in der HTML-Datei übertragen ist leer. Was mache ich falsch?
Ist meine Antwort Hilfe? Wenn nicht, würde ich gerne weiter helfen. – formatkaka
Ich denke, deine Antwort ist zu allgemein. In meinem Code können Sie sehen, dass ich ein selectfield in einer for-Schleife in der Modelldatei erzeuge, aber aus irgendeinem Grund funktioniert es nicht. Könnte es mit der Tatsache zusammenhängen, dass ich es in ein Wörterbuch einfüge? – Nickpick