3 回答

TA貢獻1880條經驗 獲得超4個贊
用于:
{% with "shop/"|add:shop_name|add:"/base.html" as template %}
{% include template %}
{% endwith %}

TA貢獻1836條經驗 獲得超4個贊
不要add用于字符串,您應該定義一個自定義標簽,如下所示:
創建一個文件: <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)
然后像@Steven所說的那樣使用它
{% with "shop/"|addstr:shop_name|addstr:"/base.html" as template %}
{% include template %}
{% endwith %}
避免的原因 add
根據文檔
該過濾器將首先嘗試將兩個值都強制轉換為整數...可以強制轉換為整數的字符串將被求和,而不是串聯在一起 ...
如果兩個變量碰巧都是整數,則結果將是意外的。

TA貢獻1828條經驗 獲得超6個贊
我已經更改了文件夾層次結構
/shop/shop_name/base.html 轉到 /shop_name/shop/base.html
然后下面將工作。
{% extends shop_name|add:"/shop/base.html"%}
現在,它能夠擴展base.html頁面。
- 3 回答
- 0 關注
- 2268 瀏覽
添加回答
舉報