python - Replacing a character in Django template -


i want change & and in page's meta description.

this tried

{% if '&' in dj.name %}     {{ dj.name.replace('&', 'and') }} {% else %}     {{ dj.name }} {% endif %} 

this doesn't work. still shows &

dj.name.replace('&', 'and') can not invoke method arguments.you need write custom filter.

official guide here:

https://docs.djangoproject.com/en/1.9/howto/custom-template-tags/#registering-custom-filters

ok, here example, say, in app named 'questions', want write filter to_and replaces '&' 'and' in string.

in /project_name/questions/templatetags, create blank __init__.py, , to_and.py goes like:

from django import template  register = template.library()  @register.filter def to_and(value):     return value.replace("&","and") 

in template , use:

{% load to_and %} 

then can enjoy:

{{ string|to_and }} 

note, directory name templatetags , file name to_and.py can not other names.


Comments

Popular posts from this blog

html - Sizing a high-res image (~8MB) to display entirely in a small div (circular, diameter 100px) -

java - IntelliJ - No such instance method -

identifier - Is it possible for an html5 document to have two ids? -