gpt4 book ai didi

Django自定义的tasking_tag没有被执行

转载 作者:行者123 更新时间:2023-12-02 01:44:03 24 4
gpt4 key购买 nike

我尝试在 Django 1.6 中制作自己的分配模板标签(编辑:我也在 1.5.5 中尝试过但没有成功),但我无法让它执行任何操作。

templatetags/getattribute.py中我有:

from django import template
import logging

register = template.Library()
logger = logging.getLogger('wwwcid.website.debug_console')

#@register.assignment_tag
def mytag(context, context_variable):
raise template.TemplateSyntaxError("buuuuuuuuuuuuuuus")
logger.debug("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
print "teeeeeeeeeeeeeeeeeeeest"
return 'tpppppppppppppppppppppeee'
register.assignment_tag(mytag, takes_context=True)

在我的模板 profile.html 中,我有:

{% extends "website/base.html" %}
{% load getattribute %}
{% mytag "user.email" as vari %}
{{ vari }}
{% block content %}
<p> Rest of the page. </p>
{% endblock content %}

但是这个标签不起作用。不会引发错误(即使我自己提出错误),没有日志输出,没有打印,没有返回,什么也没有。

即使我注册标签时不使用takes_context=True,只说@register.assignment_tag它也不起作用。我在这里做错了什么?感谢您的帮助!

最佳答案

好的,我应该粘贴代码,因为我的应用程序中确实有它。我编辑了上面的profile.html部分以反射(reflect)实际情况。问题是标签和变量仅在 {% block foo %}{% endblock foo %} 之间执行。因此,使用以下 profile.html 模板即可正常工作:

{% extends "website/base.html" %}
{% load getattribute %}
{% block content %}
{% mytag "user.email" as vari %}
{{ vari }}
<p> Rest of the page. </p>
{% endblock content %}

关于Django自定义的tasking_tag没有被执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20292619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com