ich möchte gern FlaskForm-Formular mit default Werten befüllen. Leider hat wohl die klasse keine Möglichkeit mit einem Konstruktor zu arbeiten oder ich begreife nicht, wie ich ihn richtig einsetze
Dazu habe ich mal folgendes zusammengeschrieben, was leider nicht funktioniert.
Code: Alles auswählen
class HostForm(FlaskForm):
def __init__(self, infos):
self.infos = infos
self.id = self.infos[0]
self.name = self.infos[1]
self._host = self.infos[2]
self.env = self.infos[5]
if self.env == "prod":
self.env = "Produktion"
elif self.env == "Test1":
self.env = "Test1"
elif env == "Test2":
self.env = "Test2"
id = StringField("Id", validators=[
DataRequired()], default=id)
name = StringField("Name", validators=[
DataRequired()], default=pz_name.capitalize())
hostname = StringField("Host", validators=[
DataRequired()], default=host)
env = StringField("Umgebung", validators=[
DataRequired()], default=env)
submit = SubmitField("Test")
Code: Alles auswählen
File "e:\program files\python\python36\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "e:\program files\python\python36\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "E:\Program Files\Python\Python36\Scripts\flask.exe\__main__.py", line 9, in <module>
File "e:\program files\python\python36\lib\site-packages\flask\cli.py", line 966, in main
cli.main(prog_name="python -m flask" if as_module else None)
File "e:\program files\python\python36\lib\site-packages\flask\cli.py", line 586, in main
return super(FlaskGroup, self).main(*args, **kwargs)
File "e:\program files\python\python36\lib\site-packages\click\core.py", line 717, in main
rv = self.invoke(ctx)
File "e:\program files\python\python36\lib\site-packages\click\core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "e:\program files\python\python36\lib\site-packages\click\core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "e:\program files\python\python36\lib\site-packages\click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "e:\program files\python\python36\lib\site-packages\click\decorators.py", line 64, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "e:\program files\python\python36\lib\site-packages\click\core.py", line 555, in invoke
return callback(*args, **kwargs)
File "e:\program files\python\python36\lib\site-packages\flask\cli.py", line 848, in run_command
app = DispatchingApp(info.load_app, use_eager_loading=eager_loading)
File "e:\program files\python\python36\lib\site-packages\flask\cli.py", line 305, in __init__
self._load_unlocked()
File "e:\program files\python\python36\lib\site-packages\flask\cli.py", line 330, in _load_unlocked
self._app = rv = self.loader()
File "e:\program files\python\python36\lib\site-packages\flask\cli.py", line 388, in load_app
app = locate_app(self, import_name, name)
File "e:\program files\python\python36\lib\site-packages\flask\cli.py", line 240, in locate_app
__import__(module_name)
File "E:\Service-Repos\hls\hls_master\infra\docker\hls-versions-monitor-db\src\flaskform_test.py", line 4, in <module>
from operations import *
File "E:\Service-Repos\hls\hls_master\infra\docker\hls-versions-monitor-db\src\operations.py", line 7, in <module>
class HostForm(FlaskForm):
File "E:\Service-Repos\hls\hls_master\infra\docker\hls-versions-monitor-db\src\operations.py", line 24, in HostForm
DataRequired()], default=id)
NameError: name 'id' is not defined
VG niesel