首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Flask WTForms - 来自数据库的动态BooleanField

Flask WTForms - 来自数据库的动态BooleanField
EN

Stack Overflow用户
提问于 2019-06-12 07:57:15
回答 1查看 0关注 0票数 0

在我的flask项目中,我有views.py,models.py(SQLAlchemy到postgres)和forms.py文件。我一直在form.py中定义表单,从views.py中实例化它们。

我能够为SelectField创建动态内容,但是对于BooleanField很难做到这一点。这是我想要做的:

创建一个从团队中检索玩家的表单(在db中)。为每个玩家创建一个BooleanField。如果db中的“active”字段为1,则检查该值(true),否则取消选中(false)。系统用户可以选中/取消选中任何框,然后提交表单。

迭代播放器我没有问题,但我似乎无法弄清楚如何为每个BooleanField生成唯一的名称(如果它们具有相同的名称,我将只返回一个值)。我还需要根据用户的活动状态动态传递默认值。

我做了一些研究并看到了一些关于匹配我的ORM模型的想法 - 但我并没有真正尝试创建一个字段条目来匹配我的ORM模型中的每一列我的玩家 - 只是试图提取一些数据并创建一个表格在飞行中。

可以在jinja2模板中完成所有这些,但这似乎不是最好的方法...

好的 - 现在尝试获得更多基础,仍有问题 - BooleanField总是返回False:

forms.py:

代码语言:javascript
复制
class myform(Form):
    available = BooleanField('available')
    submit = SubmitField('Save')

views.py:

代码语言:javascript
复制
form = myform(available=True)

webpage.html

代码语言:javascript
复制
Available: {{ form.available }}

当网页呈现复选框时(由于可用= True)我正在传递,但是当我提交时,值返回为False)。

我注意到的很奇怪的是,即使在选中框时,渲染的HTML - <input id="available" type="checkbox" value="y" name="available" checked="">

Checked =“”对我没有意义。我注意到当我删除'available = True'时,没有checked =“”。我认为应该检查正确的HTML =检查..

EN

回答 1

Stack Overflow用户

发布于 2019-06-12 17:18:07

如果要根据表的特定列的值动态设置checked属性BooleanField,可以通过以下方式执行此操作:

forms.py:

代码语言:javascript
复制
# Create the boolean field in the form
is_active = BooleanField('Is Active')

views.py:

代码语言:javascript
复制
# Select the players from the database and for each of them set the boolean field state
# Here we are selecting all players and iterating through them
# session.query() is specific to SQLAlchemy which is primarily used with flask as an ORM
players = session.query(Player).all()
for player in players:
  # Set other form fields like a dynamically populated SelectField etc.

  # Set the boolean field for each player here
  form.is_active.default = "checked" if player.active == 1 else ""
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档