Django custom assignment_tag没有被执行
发布时间:2020-12-20 11:31:46 所属栏目:Python 来源:网络整理
导读:我尝试在Django 1.6中创建自己的赋值模板标签(编辑:我也尝试了1.5.5 w / o成功)但我无法做任何事情. 在templatetags / getattribute.py我有: from django import templateimport loggingregister = template.Library()logger = logging.getLogger('wwwcid.
我尝试在Django 1.6中创建自己的赋值模板标签(编辑:我也尝试了1.5.5 w / o成功)但我无法做任何事情.
在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 %} 但是这个标签不起作用.没有错误(即使我自己提出),没有记录输出,没有打印,没有返回,没有. 即使我注册了带有take_context = True的标签,也就是说@ register.assignment_tag它不起作用.我在这做错了什么?谢谢你的帮助! 解决方法
好吧,我应该粘贴代码,因为我真的在我的应用程序中有它.我编辑了上面的profile.html部分以反映实际情况.问题是标签和变量仅在{%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 %} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |