I'm having this error when loading a custom tag in my template. I've visited many topics about this and I made sure to verify that I didn't commit some common errors :
templatetags
folder.templatetags
folder contains a __init__.py
file.actualites
is in the INSTALLED_APPS
list from the settings.{% load mes_tags %}
at the beginning of my template.Here is the file structure of my app :
actualites/
__init__.py
SOME FILES
templatetags/
__init__.py
mes_tags.py
mes_tags.py
from django import template
register = template.Library()
@register.simple_tag(takes_context=True)
def param_replace(context, **kwargs):
d = context['request'].GET.copy()
for k, v in kwargs.items():
d[k] = v
for k in [k for k, v in d.items() if not v]:
del d[k]
return d.urlencode()
The error I get is the following :
TemplateSyntaxError at /
'mes_tags' is not a registered tag library. Must be one of:
LIST OF TAGS
Can someone tell me what I did wrong ? Thanks in advance !
You need to add this tags library in settings (for Django >= 1.9):
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'app.apptemplates.load_setting',
],
'libraries':{
'custom_templatetag': 'actualites.templatetags.mes_tags',
}
},
}]
You can read more here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With