N'utilisez pas add
pour les chaînes de caractères, vous devez définir une balise personnalisée comme ceci :
Créer un fichier : <appname>\templatetags\<appname>_extras.py
from django import template
register = template.Library()
@register.filter
def addstr(arg1, arg2):
"""concatenate arg1 & arg2"""
return str(arg1) + str(arg2)
et ensuite l'utiliser comme le dit @Steven
{% load <appname>_extras %}
{% with "shop/"|addstr:shop_name|addstr:"/base.html" as template %}
{% include template %}
{% endwith %}
Raison de l'évitement add
:
Selon le docs
Ce filtre premièrement essayer de convertir les deux valeurs en entiers... Les chaînes de caractères qui peuvent être converties en nombres entiers seront additionnées, non concaténés ...
Si les deux variables se trouvent être des entiers, le résultat serait inattendu.