You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django的include标签中调用函数报Could not parse the remainder错如何解决?

错误原因

Django模板引擎不支持在标签属性赋值时使用Python风格的括号传参调用函数,你写的local_time_format(...)写法属于非法语法,会直接触发解析报错。

修复方案

你需要把函数调用改成Django模板过滤器的标准管道调用格式,有两种常用写法可选:

写法1:预存变量后传入(可读性更高)

先用{% with %}标签把格式化后的日期存为临时变量,再传递给子模板:

{% load 你的自定义过滤器文件名 %}
{% with formatted_date=job.date|local_time_format:(user.timezone, "M j P") %}
    {% include "shared/page_title.html" with text=formatted_date %}
{% endwith %}

写法2:直接在include标签内计算(更简洁)

不需要额外加{% with %}标签,直接把过滤器逻辑写在赋值位置即可:

{% load 你的自定义过滤器文件名 %}
{% include "shared/page_title.html" with text=job.date|local_time_format:(user.timezone, "M j P") %}

注意事项

  • 代码中的你的自定义过滤器文件名需要替换为local_time_format过滤器所在的文件名称,确保模板已经加载对应的自定义过滤器。
  • 如果你使用的Django版本低于2.0,不支持直接传元组作为过滤器参数,可以先把时区和格式参数拼接为单个分隔符分隔的字符串,再在过滤器内部拆分处理。

内容的提问来源于stack exchange,提问作者Micah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:06:02