在上一节中,我们学习了如何通过TTS节点生成语音内容。本节课程将引导你如何使用Jinja模板进行内容格式化输出。通过这一课程,你将学会用固定样式的模板填入动态数据,从而生成文案等内容。
01. 动手实践
在现有流程中为应用增加模板转换节点:
在"代码执行"节点之后,新增一个"模板转换"节点。
连接"代码执行"节点与新增的模板转换节点,然后连接模板转换节点与结束节点(目前暂时移除语音输出处理,后续可添加多路生成不同内容的输出)。
- 设置"模板转换"的输入为"代码执行"的Object。
- 注意对"代码执行"节点进行调整:将输出修改为字典格式而非字符串,输出变量选对象输出。
在新增节点中进行模板内容的设置:
- 固定的内容和动态的数据通过双大括号进行分隔定义。
点击“发布”并保存,随后进行测试:
- 结果输出为按模板填入动态内容的文案结果。
02. 补充说明
今天的课程内容相对简单,但难度体现在Jinja模板的灵活运用上:
Jinja模板简介:
在项目中的运用:
- 在实际应用中,通过模板转换功能,将中间数据渲染为所需格式,发挥其强大作用。
高级模板示例:
- 模板可以处理循环、判断等复杂逻辑。例如:
<ul> {% for item in items %} {% if item.cash %} <p>小计金额:{{ item.total }}</p> {% else %} <p>无需付费。</p> {% endif %} {% endfor %} </ul>
总结
通过本节课程,你学会了如何利用模板进行数据转换,使得内容可以被定制为固定格式,并插入动态数据生成完整内容。这将大大提高内容生成过程的灵活性和可操作性。
系列文章
- Dify应用开发课程: 从实践到原理(01)
- Dify应用开发课程: 插件与流程开发(02)
- Dify应用开发课程: 使用代码节点进行数据处理(03)
- Dify应用开发课程: 使用TTS节点生成语音播报(04)
- Dify应用开发课程: 使用Jinja模板进行内容格式输出(05)【当前文章】