Я строю лист персонажа Dungeon & Dragon, используя Flask
и его модули (Flask-wtform
, flask-sqlalchemy
). Если вы раньше играли в D & D, вы знаете, что таблица персонажей довольно сложна.
Я построил разные формы для разных частей листа персонажа. Поскольку есть много полей, будет трудно поддерживать в долгосрочной перспективе. Ввод каждого поля формы вручную, все данные из базы данных также будут подвержены ошибкам.
Просто для примера, в моем файле routes.py
, это то, что я делаю для извлечения данных из БД для каждого поля, если игрок уже заполнил свой лист персонажа (упрощенно):
if user_baseinfo is not None:
baseinfo_form.character_name.data = user_baseinfo.c_name
baseinfo_form.player_name.data = user_baseinfo.p_name
baseinfo_form.character_class.data = user_baseinfo.c_class
baseinfo_form.character_level.data = user_baseinfo.c_level
baseinfo_form.ECL.data = user_baseinfo.ECL
baseinfo_form.character_race.data = user_baseinfo.c_race
baseinfo_form.character_size.data = user_baseinfo.c_size
baseinfo_form.character_gender.data = user_baseinfo.c_gender
baseinfo_form.character_alignment.data = user_baseinfo.c_alignment
baseinfo_form.character_religion.data = user_baseinfo.c_religion
baseinfo_form.character_height.data = user_baseinfo.c_height
baseinfo_form.character_weight.data = user_baseinfo.c_weight
baseinfo_form.character_looks.data = user_baseinfo.c_looks
Я хотел бы сделать 'для l oop', чтобы назначить данные вместо того, чтобы делать это вручную, как приведенный выше пример. Это будет использовать много ручной работы с моей стороны. Я ищу что-то вроде этого:
for form_field, db_data in baseinfo_form, db_info:
form_field.data = db_info.db_data
Я чувствую, что я близок к решению, но я не понял его.
Большое спасибо!