如何使用django应用程序的模板标签?django templatetag?
-5
A
回答
10
创建一个新的模板标签可能是相当复杂的,具体取决于它的作用,以及它是否是块标签(带有开始和结束 - 如{% if %} {% endif %}
等)。基本上,您需要创建一个example.templatetags
模块(其中example
是您的应用程序),在您的模板中实现您的标记,然后{% load example %}
,以便他们可以“看到”您的模板标记和过滤器。
例如,如果您想要创建一个{% foobarbaz %}
标签,该标签在使用时会输出“foor”或“bar”或“baz”(以arg的形式给出时)或“”(当给出其他内容时)一个模板,你example/templatetags.py
力量看起来是这样的:
from django import template
register = template.Library()
@register.simple_tag
def foobarbaz(input):
if "foo" == input:
return "foo"
if "bar" == input:
return "bar"
if "baz" == input:
return "baz"
return ""
在你的模板,你可以做这样的事情(记住,上述模块是example
应用程序的一部分):
{% load example %}
{% foobarbaz "bar" %}
{% foobarbaz "elephant" %}
{% foobarbaz "foo" %}
哪会输出:
bar
foo
需要注意的是,因为我使用simple_tag
,我只有基本的控制参数的分析,有没有办法做一个结束标记等
相关问题
- 1. Django的Templatetag装载
- 2. Django templatetag“处理顺序”
- 3. Django templatetag用于呈现html的子集
- 4. 如何从django templatetag访问python列表?
- 5. Django translate templatetag字符串参数
- 6. django url templatetag无法反向url
- 7. 在django和direct_to_template中的url templatetag
- 8. Django templatetag包含的用户对象
- 9. 为什么使用Django TemplateTag标签?
- 10. 如果使用templatetag
- 11. 动态templatetag
- 12. 自定义包含templatetag render_model
- 13. 如何在TemplateTag中获取request.user
- 14. django:获取templatetag中的当前语言环境
- 15. Django,在呈现模板之前执行templatetag
- 16. 如何通过模板在django中将值传递给templatetag
- 17. Django的 - 如何将多个值传递给templatetag
- 18. Django管理员 - 如何获得templatetag中的所有注册模型?
- 19. 如何从templatetag动态插入数据
- 20. 为什么pdb.set_trace()不能在templatetag定义中工作?
- 21. 如何在Django View中使用Django templatetags?
- 22. 如何从templatetag返回值插入到{%如果
- 23. 帮助显示缩略图与sorl-thumbnail templatetag
- 24. 如何从templatetag返回值插入到{%,如果 - 再次
- 25. Django的:templatetags传递变量值
- 26. NoReverseMatch与Django的URL存在
- 27. Django静态文件版本
- 28. 不常见的django urlpattern
- 29. django-endless-pagination页面上的django-pagination记录索引和总数
- 30. Django-haystack和django-pagination不能一起工作?
你想使用已有的模板标签吗?或者你想创建自己的? – Fragsworth 2009-09-26 06:16:24