所以我经常不得不在我的 Django 模板中使用类似下面的东西:
{% include "conname.html" %}
我希望能够拥有自己的标签,而只需要输入类似
{% conname %}
是否有一种简单的方法来设置某种别名,以便模板引擎看到conname
它知道实际上应该是特定包含标签的标签?
所以我经常不得不在我的 Django 模板中使用类似下面的东西:
{% include "conname.html" %}
我希望能够拥有自己的标签,而只需要输入类似
{% conname %}
是否有一种简单的方法来设置某种别名,以便模板引擎看到conname
它知道实际上应该是特定包含标签的标签?
很简单,在一个模块中只需添加以下代码(我的通常称为 custom_tags.py:
from django import template
register = template.Library()
@register.simple_tag
def conname():
return '''{% include "conname.html" %}'''
#to make it available everywhere (i generally add this to my urls.py
from django.template.loader import add_to_builtins
#this will be aded to all templates
add_to_builtins('custom_tags')
在您的模板中,您只需使用{% conname %}
或者您可以使其更复杂并以编程方式调用IncludeNode
,但这有点过头了。