Django上下文处理器: Is it possible to access current context in ContextProcessor?

标签 django django-urls django-context

有没有一种方法可以访问自定义上下文处理器中通过 View 传递的当前上下文,因此可以添加缺失的变量(而不是覆盖现有变量)?

我要实现的目标:

我构建了像/city_slug/这样的URL,我想检查上下文中是否已经存在city变量,否则我想将city添加到我的上下文中(可能正在使用存储在 session 变量中的最后使用的城市,否则默认为某个城市,并且可能甚至可以将 session 变量设置为下次使用。)

我认为这是一个非常普遍的问题,你们如何解决?

最佳答案

您不能从上下文处理器中访问当前上下文,而且我猜中间件也不适合您。创建在 View 中使用的自己的模板渲染功能也许很有意义,并且始终将其传递上下文和当前请求,然后将所需的功能放入其中,然后使用常规渲染功能django最终渲染模板为您提供!

关于Django上下文处理器: Is it possible to access current context in ContextProcessor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3850735/

相关文章:

python - 计算 Django 项目中的代码行数

django - 使用 Django 在 App Engine 上存储图像

Django - 转到 HTML 中的 #id 标签

django - 在 Django 1.11 中,当在项目 URLconf 文件中包含应用程序 URLconf 文件时出现循环导入错误

javascript - 上下文处理器中定义的字典在不重新加载页面的情况下不会刷新?

Django 模板

django - 使用 Django 中的上下文处理器访问 View 中的全局变量

python - 如何从具有反向功能的 ModelViewSet(Django Rest Framework)获取操作方法的 url?

python - Django + GoogleAppEngine 错误 : DJANGO_SETTINGS_MODULE is undefined

python - 谁能解释一下如何将 arg 或 kwargs 从重定向传递到另一个 View ?