Django模板标记参数计数错误

时间:2015-03-20 07:46:15

标签: python django git

我有一个在Django 1.6上运行的项目正在本地机器上开发,在BitBucket上有一个git repo。

我们在服务器上运行一些测试环境,然后检查存储库并运行软件。


加载登录页面时,其中一个测试环境会出现以下错误:

TemplateSyntaxError at /login/
breadcrumbs requires 0 arguments, 1 provided
In template /.../templates/includes/breadcrumbs.html, error at line 6

该项目包含以下代码:

系统管理员/ login.html的

{% extends "workflow/base_site.html" %}
<!-- ... -->
{% block breadcrumbs %}{% endblock %}

工作流/ base_site.html

{% extends "workflow/base.html" %}
<!-- ... -->
{% block breadcrumbs %}
    {% include "includes/breadcrumbs.html" %}
{% endblock %}

breadcrumbs.html

{% load tags %}
<div class="breadcrumbs">
    {% if crumbs %}
        {{ crumbs | breadcrumbs:current_object_id | safe }}
    {% endif %}
</div>

tags.py

from django import template

register = template.Library()

@register.filter
def breadcrumbs(obj=None, current_object_id=None):
    # ...
    pass

login.html模板扩展了workflow/base_site.html,但会覆盖breadcrumbs块,并且不应包含breadcrumbs.html

对于登录页面,breadcrumbs.html模板不应具有名为crumbs的上下文变量,并且不应该调用breadcrumbs()标记。

错误仅发生在其中一个测试环境中,即相同的代码在不同用户帐户下的同一台计算机上运行。

是否有人能够确定此问题的原因?

1 个答案:

答案 0 :(得分:1)

您的项目中可能有另一个名为breadcrumbs的过滤器。尝试将您的名称重命名为其他内容以进行检查。

它也可以是一个已编译的.pyc文件,正如您稍后发现的那样。