2016-11-16 16 views
-2

大家好,我創建我的第一個simple_tag傳遞價值,但我有問題獲得價值在我的模板如何獲取價值的簡單標籤的Django

我有這個,我要傳遞的值是一個字符串「footer1」

{% render_footer "footer1" %} 

現在,我的功能就是這樣

def render_footer(footer_opc): 
    home = Page.objects.get_home() 
    return home.homeextension.footer_opc 
在這種情況下,我假定footer_opc =「footer1」這樣的回報,必須home.homeextension.footer1

,但不要你好RK,Y試試這個太

def render_footer(footer_opc="footer1"): 
    home = Page.objects.get_home() 
    return home.homeextension.footer_opc 

但我獲得相同的結果.. 代碼返回home.homeextension.footer_opc,這不存在...但我不知道獲得footer_opc的價值。

我嘗試將此返回至return home.homeextension.+ footer_opc但結果相同。

任何想法!提前致謝!

+0

這可能幫助:https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#simple-tags – Kedar

回答

3

這個問題與模板標籤無關。

要按名稱從對象獲取屬性,請使用getattr

return getattr(home.homeextension, footer_opc) 
+0

你是我的英雄@Daniel羅斯曼 – Stone