简体   繁体   中英

Alias Django Template Tag

So I often have to use something like the following in my Django templates:

{% include "conname.html" %}

I'd like to be able to instead just have my own tag and only have to type something like

{% conname %}

Is there an easy way to setup some sort of alias so that when ever the template engine sees the conname tag it knows that should actually be a specific include tag?

Pretty simple, in a module just add the following code (mine are usually called 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')

In your template you would just use {% conname %} Or you could make it more complicated and programatically call IncludeNode but that is overkill.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM