python - Django模板“pluralize”过滤器导致原始文本输出
问题描述
我现在正在阅读 Django 教程(https://docs.djangoproject.com/en/3.0/intro/tutorial04/)并遇到了复数的这个小问题。
使用此代码:
<li>{{ choice.choice_text }} -- {{ choice.votes }} vote{{ choice.votes|pluralize }}</li>
{
复数过滤器没有做任何事情,模板返回如下内容:
Just hacking again -- 2 vote{{ votes|pluralize }} // just the template code itself.
好像它只是忽略了 {{ }} 指标。
如果我去掉复数,那么choice.votes 变量将显示(在这种情况下)一个2,正如预期的那样,就像它对{{choice.votes }}所做的那样。的添加| pluralize
似乎打破了插值,就在那个区域。
我没有看到需要添加的任何类型的导入或类似内容;我什至复制并粘贴以确保没有拼写错误,也没有在 console.log 中看到任何内容。
对这里可能(不)发生的事情有任何见解吗?
解决方案
对我来说,真正解决这个问题的方法是写在同一行:
vote{{ choice.votes|pluralize }}
无论上述之间的空间如何,这都有效。
Django 教程 ( https://docs.djangoproject.com/en/3.2/intro/tutorial04/ ) 中的代码在 {{ 后立即显示换行符,因此可能会产生误导:
(在 Chrome 中以 100% 缩放的屏幕截图。但这个换行符也显示到 125%)
推荐阅读
- android - 我的 ArrayAdapter 数据更新使我的适配器为空而不是更新数据
- .net - 添加 cc 和 bcc 时无法通过发送网格发送电子邮件
- python - python - 循环中断不会第二次工作
- mysql - Cron 作业仅从 CSV 检索特定行并插入数据库
- sql-server - Laravel SQL Server 查询语法
- sqlite - 匹配字符串 SQLite 中的子字符串
- javascript - 在 Photoshop 图层上绘制 HTML 元素
- mysql - SQL 语法错误 [node-red 中的函数]
- mysql-workbench - 在 Mysql Workbench v8 中隐藏信息选项卡面板
- salesforce - 用于 salesforce 的 docusign 自定义按钮的 docusign apex 工具包