问题标签 [flask-wtforms]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Flask-WTForms - 简单的 CRUD 示例 - 值未填充表单
我已经阅读了我能找到的所有教程和一些文档,但找不到我的问题。我以“公司”为例,尽可能简单地做到了这一点。当我加载我的 /company/edit/2 网址时,表单不会填充该值。
看法
表单对象
表单模板
我的理解是这应该可行 - 路由 /company/edit/x 将调用 company_edit(x),它声明虚拟公司对象(稍后从数据库中提取),实例化一个表单,传递公司对象,然后呈现传递表单的模板。表单模板应该能够将公司对象中的字段名称与表单对象中的相应输入名称相匹配,并使用值“SomeCo”填充文本字段。我错过了一些明显的东西吗?
谢谢!
python - Python Flask SQLAlchemy - 将模型加载到视图中
我正在关注 Miguel Grinberg 的 Flask Mega 教程。他在专注于登录/注销用户和处理添加内容(博客文章)方面做得很好,但是从教程中推断简单的 CRUD 操作具有挑战性。重点似乎是添加数据(用户登录、新博客文章),而不是编辑现有数据。
我目前在 models.py 中有一个 Company 模型,我认为该方法会根据提供的 id 返回一个 Company 对象:
在我看来,我有:
我收到一个错误:TypeError: unbound method load_company_by_id() must be called with Company 实例作为第一个参数(取而代之的是 unicode 实例)。我不清楚为什么我定义的方法会期望比我设计的方法期望更多的参数。
wtforms - 在 wtForms 中创建自定义字段
在我的表单中,我试图创建一个带有选项的自定义数组字段。
自定义表单字段:
实际表单调用自定义表单域
每当我向它发布数据时,PostForm
它都会调用自定义字段,但不会传入 any valuelist
to process_formatdata
。自定义字段始终返回一个空列表。
我在这里有什么遗漏吗。
validation - Flask-WTF:如何在 DataRequired() 验证时允许零
我已经定义了一个这样的表格:
如果没有插入任何值,我会收到如下默认消息:
我想要一条自定义消息,所以我想出了这个:
自定义消息现在有效,但我得到了副作用。0(零)不再被接受为整数值。请问我在这里有什么选择?
python - 使用 flask-appengine-template 时奇怪的 KeyProperty 失败
我正在使用来自 kamalgill的flask-appengine-template并且遇到了一个奇怪的问题。
我的models.py
文件如下所示:
我的forms.py
文件如下所示:
这给了我下面显示的错误转储。dimensions=ndb.KeyProperty(kind='DimensionModel')
如果我只是在 models.py 中注释掉该行,一切都会正常工作。我不知道从这里去哪里。
python - 创建具有动态默认值的 RadioField 的正确方法?
这是我得到的代码,这是可行的。MyForm
是一个表单类,它只定义了一个RadioField
. 这里RadioField
没有指定默认值,因为我们还不知道它将包含哪些项目。获取一个项目列表并使用添加到的my_form
项目创建一个,并且(至关重要)选择列表中的第一个项目作为默认项目。MyForm
RadioField
支票and form.itemid.data == u'None'
闻起来真的很糟糕。这样做的原因是,如果没有该检查,我们会覆盖提交的数据。即当我们使用这样的形式时......
...如果我们没有那个臭名昭著的检查,我们将表单数据设置为设置默认值,但如果form.validate_on_submit()
因为用户提交了表单而通过设置默认值,我们已经破坏了实际用户提交的数据。
当然,显而易见的答案似乎是my_form
应该设置默认值,所以臭味检查应该变成:
但这不起作用,似乎是因为 form.itemid.data 没有数据,而这实际上是用于构造 HTML 的。
所以问题是:这样做的正确方法是什么?
python - WTForms 向 SQLAlchemy 提交动态字段
我正在从数据库行动态创建一系列表单字段,每个字段都有自己的表单。提交表单时,它将更新数据库中的一行。我遇到的问题是如何将提交的表单与相关行匹配?所有表单字段都具有相同的名称“共享”,但这应该没问题,因为每个字段都有自己的表单。
视图.py
设置.html
谢谢
sqlalchemy - flask wtf SelectField,动态输入和验证
第一个问题:动态输入到 SelectField(选项)中,在我的数据库(sqlite,带有 SqlAlchemy)中我有一个表,从这个表中我不会选择 SelectField 中的选项中的所有条目。作为选定的结果,我需要条目中的 ID。
第二个问题:如果我把它放到 SelectField 中:
每次:
不是一个有效的选择
验证发生了什么?
感谢您的时间,祝您有美好的一天!
python - 403 Forbidden Bottom of my every page
我正在制作一个博客页面,在每个页面的底部都会收到一条消息。
消息说:
“”
* * 403 Fobidden
- 代码:拒绝访问
- 消息:拒绝访问
- 请求编号:12D5257EEFBC8528
- 主机ID:**
**""
请指引我的路
我的 ROUTE PAGE 包含的连接如下:
sqlalchemy - 将 FK QuerySelectField 添加到由 model_form() 生成的 WTForm
我有一个 Flask 项目,并且正在制作与 SQLAlchemy 模型密切相关的表格。在我的 MySQL 数据库中有一个 Houses 表和一个 Garages 表。我想用wtforms.ext.sqlalchemy.orm.model_form()
在控制器代码中动态地制作我的“车库”表单,但是(这里有一个问题)将外键的选择字段添加到“房子”表中。我认为QuerySelectField()
这是要走的路。
规则:所有新车库都必须有一个父房子。
我正在使用 Flask-SQLAlchemy 扩展 ( flask.ext.sqlalchemy.SQLAlchemy
) 和 Flask-WTForms 扩展 ( flask.ext.wtf.Form
),因此代码看起来与 stackoverflow 上其他地方以及 Flask、SQLAlchemy 和 WTForms 的相应文档中的示例有点不同。
这是我的模型:
这是我添加车库的页面的路由器:
这是我不确定的线路:
我的模板如下所示:
请注意,第一部分的最后一部分<div>
没有故意form.ParentHouse_FK
,()
否则我会AttributeError: 'UnboundField' object has no attribute '__call__'
出错。事实上,我仍然收到一个错误:UnboundField(QuerySelectField, (u'Assign To',), {'get_label': 'Name', 'query_factory': <function getAllHouses at 0x29eaf50>})
我的目标是添加一个字段来form
表示当前 House 行的所有可用外键可能性(然后在 Garage 表中填充 Garage.ParentHouse_FK 以获取新的 Garage 条目)。我知道我可以忽略那个(否则很棒)model_form
快捷方式并直接定义我的所有表单,但是这个项目的模型可能会随着时间而改变,并且只需更新模型而不必更新表单代码会很棒。理想情况下,我还会在 Jinja2 模板中有一个 for 循环来显示所有字段。
任何线索如何正确使用QuerySelectField()
以及model_form()
获得我所追求的?
谢谢!