如何在Django模板中的views.py中使用变量?

时间:2017-06-14 09:55:46

标签: django

我的app目录的文件views.py中有一个变量。 我需要在模板中打印该变量。 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以将变量传递到上下文字典中并在模板中进行渲染,

当您使用Django模板时,它会被编译一次(并且只编译一次)并存储以供将来使用,作为优化。模板可以在双花括号中包含变量名称,例如{{myvar1}},{{myvar2}}。

Context是一个字典,其变量名称为" key"和他们的价值作为"价值"。因此,如果上述模板的上下文如下所示:{myvar1:101,myvar2:102},当您将此上下文传递给模板呈现方法时,{{myvar1}}将被替换为101而{{myvar2}}将替换为102在你的模板中。这是一个简单的例子,但实际上Context对象是" Context"在其中呈现模板。

对于ContextProcessor,这是一个稍微高级的概念。您可以在settings.py文件中列出一些上下文处理器,它们接收HttpRequest对象并返回一个字典(类似于上面的Context对象)。 Context Processor返回的字典(上下文)被合并到Django由您(用户)传入的上下文中。

上下文处理器的用例是当您总是希望在模板中插入某些变量时(例如,用户的位置可能是候选者)。您可以简单地为其编写上下文处理器并将其添加到settings.py中的TEMPLATE_CONTEXT_PROCESSORS设置,而不是编写代码以在每个视图中插入代码。

一个例子,

在views.py

foo = 'bar'
context = {'foo': foo }
return render(request, 'template_name', context)

在模板中,您可以访问变量

{{ foo }}