Ich habe eine Webanwendung, die es Benutzern ermöglicht, ihre eigenen Felder zu erstellen, die später in einem Formular gerendert werden.Generieren Sie ein dynamisches Formular mit Hilfe von flask-wtf und sqlalchemy
Ich habe ein Modell Formfield wie so:
class Formfield(db.Model):
id = db.Column(db.Integer, primary_key = True)
form_id = db.Column(db.Integer, db.ForeignKey('formbooking.id'))
label = db.Column(db.String(80))
placeholder_text = db.Column(db.String(80))
help_text = db.Column(db.String(500))
box_checked = db.Column(db.Boolean, nullable = True, default = False)
options = db.Column(db.String) # JSON goes here?
answer = db.Column(db.String)
required = db.Column(db.Boolean, nullable = False, default = False)
order = db.Column(db.Integer)
fieldtype = db.Column(db.Integer)
, die ich verwende, um ein Feld darzustellen, unabhängig von der Art (Checkbox, Input, mehr in der Zukunft).
Wie Sie sehen können, hat jedes Feld einen FK zu einer form_id.
Ich versuche, ein dynamisches Formular für eine bestimmte Form_id zu generieren. Der Catch ist, dass ich den Typ des Feldes bestimmen muss, um für jedes Formfield zu rendern. Also muss ich auch den Feldtyp irgendwann verarbeiten.
Ich denke, eine Lösung wäre irgendwie die form_id an eine Funktion in meiner Form-Klasse weitergeben.
Ich habe keine Ahnung, wie es geht oder wo Sie nach einer Lösung suchen.
Jede Hilfe wäre sehr willkommen!
dank machen! Als Referenz siehe [dynamische Formularzusammensetzung] (http://wtforms.readthedocs.org/en/1.0/specific_problems.html#dynamic-form-composition) in den wtforms-Dokumenten. – Dailyrox
Schönheit, Instanziieren des Formularklassenobjekts löste mein Problem. – Adrian
@Dailyrox tote Verbindung. – roy