django在模板中获得kwargs值

时间:2015-07-12 14:56:17

标签: python django templates

让我说我有一个函数,我传递模板:

def somefunc(template, **kwargs):
    body = render_to_string(tempate, {"kwargs":kwargs})

在我的模板中,我想访问此kwargs值:

Hellooww {{kwargs['username'}}, welcome to the site...

但我没有收到此用户名。可以这样做吗?

谢谢

4 个答案:

答案 0 :(得分:3)

Django模板具有不同类型的查找,用于访问您应该使用kwargs的词典{{ kwargs.username }}上的{{1}}。

有关进一步说明,请查看documentation

答案 1 :(得分:0)

我认为你错过]之后的结束'username',如下所示:

{{kwargs['username']}}

答案 2 :(得分:0)

要在Django模板中对字典执行查找,您需要使用.(点)符号

  

点在模板渲染中具有特殊含义。变量中的一个点   name表示查找。

当模板系统在变量名中遇到点.时,它会按以下顺序尝试以下查找:

  1. 字典查找。示例:foo [" bar"]
  2. 属性查找。示例:foo.bar
  3. 列表索引查找。示例:foo [bar]
  4. 所以在你的情况下,你只需要这样做:

    {{ kwargs.username }}
    

    遇到变量.中的kwargs.username的模板系统将通过密钥kwargs对字典username执行字典查找。

答案 3 :(得分:-1)

您可以通过 view.kwargs 使用View中可访问的kwarg:

enter image description here