python - 如何从 Controller 传递 jinja 宏的变量?

标签 python flask jinja2 wtforms

在 Controller (// View )中,我对数据库执行exists 操作。 如果结果是肯定的,我会返回相同的 URL 和表单并显示一条消息。

执行此操作时,我想使用额外的变量集(通常默认为 None)来呈现其中一个字段(即 form.email),以便将其标记为错误字段。

如何使用 jinja 模板和 Flask 来做到这一点?

我不是在要求代码,而是在要求方向,因为我无法弄清楚要走的路。

我正在使用 Flask、WTForms 和 Jinja。

谢谢

最佳答案

如果您的过程遇到(高级)操作错误,并且您无法在 WTForm 对象中将其声明为 validator,您可能需要找到另一种解决方案将该特定字段标记为错误。

实现此目的的一种方法是使用 WTForms' 辅助类 flags

例如:

form.field_name.flags.erring = True

然后,当您渲染字段时,无论是否通过宏,您都可以检查 erring 标志是否设置为 True

关于python - 如何从 Controller 传递 jinja 宏的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20083902/

相关文章:

Python Opencv 相机选择超时

python - Jinja 中是否有用于记录宏的官方格式?

python - 在 windbg 中调试 python 转储文件

python - 我想将列行字符串相乘 n 次

python - Flask 函数调用同一个应用程序中的其他 Flask 函数?

python - Jinja2 模板继承

python - Flask 400 错误请求、错误版本、错误语法

python - url_for 使用 & 创建一个 url 查询字符串

python - 使用 Jinja2 进行简单模板化时设置基本文件路径

python - 检测常见文件类型