django - Django模板:如何传递格式化字符串以包含标签
问题描述
我是 Django 和 Django 模板的新手,我知道 Django 模板与 Rails 相比有点限制。
所以我在电子邮件中包含了一个模板,例如:
{% include "./partials/_info_row.html" with value=f'{request_count} requests' %}
但这会引发错误:TemplateSyntaxError: Could not parse the remainder: ''{request_count} requests'' from 'f'{request_count} requests''
有没有办法传递这样的格式化字符串来包含标签?
解决方案
引发异常是因为您不能在 Django 模板中使用 f 字符串 - 模板语言实际上不是 Python。根据文档,使用时不需要显式传递上下文变量include
:
加载模板并使用当前上下文呈现它。
如果您需要传递一个组合值(上下文加上“请求”字符串之类的其他内容),您可以使用简单的标签:
标签.py
@register.simple_tag(takes_context=True)
def your_custom_tag(context, format_string):
request_count = context['request_count']
return f'{request_count} requests'
模板
{% with r_count=your_custom_tag %}
{% include "./partials/_info_row.html" with value=r_count %}
推荐阅读
- python - * 不支持的操作数类型:“int”和“NoneType”
- python - 如何查找所有行包含某些子字符串,Python Pandas
- python - 在 ubuntu 中将 opencv 与 python 一起使用时出现 GTK 错误
- python - 我微调了一个预训练的 BERT 用于句子分类,但我无法让它预测新句子
- javascript - 如何在 Beta 版中覆盖 Strapi 插件
- android - 是否可以使用 swift corebluetooth 扫描 android 蓝牙设备?
- recursion - 您将如何在 MIPS 汇编中编写此代码?
- html - 如何在 Chrome 和移动设备上删除音频标签的圆角?
- hdfs - 获取 GETHDFS ERROR 管理员收益错误
- javascript - EmailJS:仅有时有效