python - 使用 Flask 和 WTForms 从数据库查询动态单选按钮

标签 python flask sqlalchemy jinja2 wtforms

我有使用 PHP 的经验,但我是 Flask 和 Python 的新手,我需要一些简单的帮助。

我有一个数据库表,我需要一个单选按钮中的每个条目。我需要使用 WTForms,但我做不到。 id 应该是值,botname 应该是标签。

这是我的 table :

class Probot(db.Model):
    __tablename__ = "probot"    
    id = db.Column(db.Integer, primary_key=True)
    botname = db.Column(db.String(20), unique=True, index=True)
    is_available = db.Column(db.Boolean, nullable=False, default=True)
    battery = db.Column(db.Integer)
    registered_on = db.Column(db.DateTime,default=datetime.datetime.utcnow())

我使用查询:Probot.query.all() 但如何在表单上的 RadiofField 的选择属性中使用结果?

class SimpleForm(Form):
    example = RadioField('Label', choices=[])

我尝试了很多方法,但总是出错,我希望能得到一些帮助。谢谢。

最佳答案

由于您是动态设置选项,因此不要在定义表单时声明它们。相反,在您的 View 函数中,您需要像这样实例化表单(以下未经测试):

form = SimpleForm()

form.example.choices = [(probot.id, probot.botname) for probot in Probot.query.all()]

关于python - 使用 Flask 和 WTForms 从数据库查询动态单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38258011/

相关文章:

python - 在 tensorflow 中输入图像数据以进行迁移学习

html - 粘性页脚隐藏内容

python - SQLAlchemy ORM 插入相关对象而不选择它们

python - 如何禁用 SQLAlchemy 缓存?

python - Django - DeleteView中的reverse_lazy产生NoReverseMatch

python - 散列 frozenset 与 tuple of sorted

javascript - 调整图像大小然后上传的图像上传小部件

python - 类型错误 : Object of type 'datetime' is not JSON serializable (with serialize function)

python - Flask-Admin:在外键上添加过滤器

python - 如何将 python `dict` 转换为 `sqlalchemy.engine.row`