2016-11-16 53 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