赵走x博客
网站访问量:151892
首页
书籍
软件
工具
古诗词
搜索
登录
Flask 实战:41、电子邮件进阶实践
Flask 实战:40、使用事务邮件服务SendGird
Flask 实战:39、使用Flask-Mail发送电子邮件
Flask 实战:38、数据库进阶实践
Flask 实战:37、更新数据库表
Flask 实战:36、定义关系
Flask 实战:35、在视图函数里操作数据库
Flask 实战:34、数据库操作:CRUD
Flask 实战:33、使用Flask-SQLAlchemy管理数据库
Flask 实战:32、ORM魔法
Flask 实战:31、数据库的分类
Flask 实战:30、单个页面多个表单
Flask 实战:29、单个表单多个提交按钮
Flask 实战:28、使用Flask-CKEditor集成富文本编辑器
Flask 实战:27、多文件上传
Flask 实战:26、文件上传
Flask 实战:25、自定义验证器
Flask 实战:24、使用宏渲染表单
Flask 实战:23、设置错误消息语言
Flask 实战:22、处理表单数据
Flask 实战:21、使用Flask-WTF处理表单
Flask 实战:20、HTML表单
Flask 实战:19、模板进阶实践
Flask 实战:18、模板结构组织
Flask 实战:17、模板辅助工具
Flask 实战:16、模板基本用法
Flask 实战:15、HTTP进阶实践
Flask 实战:14、Flask上下文
Flask 实战:13、HTTP响应
Flask 实战:12、HTTP请求
Flask 实战:11、请求响应循环
Flask 实战:10、Flask与MVC架构
Flask 实战:9、模板与静态文件
Flask 实战:8、Flask命令
Flask 实战:7、URL与端点
Flask 实战:6、项目配置
Flask 实战:5、Flask扩展
Flask 实战:4、Python Shell
Flask 实战:3、启动开发服务器
Flask 实战:2、Hello,Flask!
Flask 实战:1、初识Flask
Flask 实战:24、使用宏渲染表单
资源编号:75875
Python Web
Flask Web开发实战:入门、进阶与原理解析
热度:78
在模板中渲染表单时,我们有大量的工作要做: * 调用字段属性,获取`<input>`定义。 * 调用对应的`label`属性,获取<label>定义。 * 渲染错误消息。 为了避免为每一个字段重复这些代码,我们可以创建一个宏来渲染表单字段,
在模板中渲染表单时,我们有大量的工作要做: * 调用字段属性,获取`
`定义。 * 调用对应的`label`属性,获取
定义。 * 渲染错误消息。 为了避免为每一个字段重复这些代码,我们可以创建一个宏来渲染表单字段,如代码清单所示: 代码清单4-9 macros.html:表单渲染宏 ``` {% macro form_field(field) %} {{ field.label }}
{{ field(**kwargs) }}
{% if field.errors %} {% for error in field.errors %}
{{ error }}
{% endfor %} {% endif %} {% endmacro %} ``` 这个form_field()宏接收表单类实例的字段属性和附加的关键字参数作为输入,返回包含
标签、表单字段、错误消息列表的HTML表单字段代码。使用这个宏渲染表单的示例如下所示: ``` {% from 'macros.html' import form_field %} ...
{{ form.csrf_token }} {{ form_field(form.username)}}
{{ form_field(form.password) }}
...
``` 在上面的代码中,我们调用form_field()宏逐个渲染表单中的字段,只要把每一个类属性传入form_field()宏,即可完成渲染。 同样的,我们可以编写一个宏渲染Bootstrap风格的表单。不过,这类复杂的工作可以交给扩展来完成,后面我们会介绍使用扩展简化在模板中渲染Bootstrap风格表单的工作。