如何获得简单标签的价值Django

时间:2016-11-16 16:14:33

标签: django django-cms

大家好我创建了第一个传递值的simple_tag,但是我有问题获取值

在我的模板中我有这个,我必须传递的值是一个字符串“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,但是不起作用,你也试试这个

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,但结果相同。

任何想法!提前谢谢!

1 个答案:

答案 0 :(得分:3)

这个问题与模板标签无关。

要从对象获取名称属性,请使用getattr

return getattr(home.homeextension, footer_opc)