2
A
回答
2
你不能,除非標籤知道如何修改上下文(這些通常有xxx as variable
語法可用)。如果沒有,你可以編寫一個封裝(作爲自定義標籤)。
0
正確的方法做,這是寫自己的標籤:
{%widthratio_add A B C d%}
如果你寫的代碼做同樣的邏輯widthratio,然後添加編號。
雖然,我懷疑你只是試圖做到這一點,因爲Django不允許超出「添加」的模板的基本數學,並且當你寫自己的標籤時,你可以做更直接的事情更少的參數:
{%mymathtag廣告%}
退房這對於如何做到這一點的一般描述:Do math using Django template filter?
0
這裏是我的自定義模板標籤解決方案:
from django import template
from django.template.defaulttags import WidthRatioNode
register = template.Library()
class WidthRationExtraNode(WidthRatioNode):
def render(self, context):
extra = int(self.extra.resolve(context))
value = int(super(WidthRationExtraNode, self).render(context))
return str(value+extra)
def __init__(self, val_expr, max_expr, max_width, extra):
self.extra = extra
super(WidthRationExtraNode, self).__init__(val_expr, max_expr, max_width)
def widthratioextra(parser, token):
bits = token.contents.split()
if len(bits) != 5:
raise TemplateSyntaxError("widthratio takes four arguments")
tag, this_value_expr, max_value_expr, max_width, extra = bits
return WidthRationExtraNode(parser.compile_filter(this_value_expr),
parser.compile_filter(max_value_expr),
parser.compile_filter(max_width),
parser.compile_filter(extra))
widthratioextra = register.tag(widthratioextra)
您可以在模板中使用它:
{% widthratioextra a b c d %}
添加自定義的模板標籤來你的應用是比較容易的,如果你不知道如何做到這一點,這裏是本手冊的相關部分:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/
0
只需使用「as」關鍵字:
{%widthratio abc as result%} {{result | add:2}}
相關問題
- 1. Django:通過過濾器傳遞{%trans%}的結果
- 2. 我如何將過濾器傳遞給django tastypie
- 3. 如何將模板變量傳遞給Django中的標記?
- 4. 如何在函數中傳遞過濾器操作的結果?
- 5. 如何將過濾器傳遞給Angular中的指令?
- 6. 如何將全局過濾器的值傳遞給控制器?
- 7. Struts2將action的方法結果傳遞給自定義標記
- 8. 將參數傳遞給angularjs過濾器
- 9. 如何將結果傳遞給MainActivity?
- 10. 如何將複雜的光標記錄傳遞給過程?
- 11. 如何分配過濾結果? (Django的)
- 12. AngularJS將自定義過濾器的結果傳遞給另一個自定義過濾器
- 13. Django - 如何將字典傳遞給模板標記
- 14. 將MySQL查詢結果傳遞給Django中的Javascript/Jquery
- 15. 如何將Django過濾器參數作爲參數傳遞給其他函數
- 16. 將存儲過程的結果傳遞給C#中的列表
- 17. 如何將CONCAT()函數的結果傳遞給Pig中的UDF?
- 18. Django的模板:使用過濾結果作爲參數傳遞給第二濾波器
- 19. jquery過濾器給出空的結果
- 20. 通過CSS標記過濾jQuery結果
- 21. 如何將值列表傳遞給Tomcat 7過濾器?
- 22. 如何將ng-repeat項目屬性傳遞給過濾器?
- 23. 如何將其他參數傳遞給wordpress過濾器?
- 24. Django:如何將表單變量傳遞給模板中的簡單標記
- 25. 將字符串變量傳遞給Shiny中的過濾器
- 26. 將請求中的過濾器傳遞給Tastypie
- 27. 將變量傳遞給WordPress過濾器中的匿名函數
- 28. 將過濾的DataGridView分配給DataRow []給出空值(過濾器有結果)
- 29. 將命令的結果傳遞給SED
- 30. 如何將ID傳遞給我的selectcommand以過濾掉我的記錄?
現在你可以做到了,因爲django在模板語言a中添加了「as」賦值運算符(版本1.9?)。請參閱下面的答案。 – foobarbecue