Django中的上下文是什么?
我是django初学者,所以我试图理解上下文和上下文处理器的概念。
- 什么是上下文,为什么要使用它?
- 你是否需要上下文才能在模板中使用它?
- 上下文和上下文处理器是否相同?
非常感谢你的回复。提前致谢!
回答:
当你使用Django模板时,它会被编译一次(并且只能编译一次)并存储以供将来使用,作为优化。模板可以在双花括号中包含变量名,例如 {{ myvar1 }}
和{{ myvar2 }}
。
一个背景是变量名称为字典键和它们的值的值。因此,如果你对上面的模板看起来像背景:{myvar1: 101, myvar2: 102}
当你传递这方面的模板渲染方法,{{ myvar1 }}
将被替换101,并{{ myvar2 }}
用102在你的模板。这是一个简单的示例,但实际上Context
对象是在其中渲染模板的上下文。
对于ContextProcessor
,这是一个稍微高级的概念。你可以在settings.py
文件中列出一些上下文处理器,这些上下文处理器接收一个HttpRequest
对象并返回一个字典(类似于上面的Context对象)。上下文处理器返回的字典(上下文)将合并到你(用户)由Django传递的上下文中。
上下文处理器的一个用例是,当你始终要在模板中插入某些变量时(例如,用户的位置可能是候选对象)。你无需编写代码将其插入每个视图中,而只需为其编写一个上下文处理器并将其添加到中的TEMPLATE_CONTEXT_PROCESSORS
设置中settings.py
。
以上是 Django中的上下文是什么? 的全部内容, 来源链接: utcz.com/qa/422625.html