我的app目录的文件views.py
中有一个变量。
我需要在模板中打印该变量。
我怎么能这样做?
答案 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 }}