现在,我需要将某些变量传递给我的所有视图(主要是自定义身份验证类型变量).

有人告诉我,编写我自己的上下文处理器是做这件事的最好方式,但我有一些问题.

我的设置文件如下所示

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.contrib.messages.context_processors.messages",
    "sandbox.context_processors.say_hello", 
)

如您所见,我有一个名为‘context_Processor’的模块和一个名为‘say_hello’的函数.

看起来像是

def say_hello(request):
        return {
            'say_hello':"Hello",
        }

我假设我现在可以在我的观点范围内做以下事情,对吗?

{{ say_hello }}

现在,这在我的模板中呈现为空.

我的观点看起来像是

from django.shortcuts import render_to_response

def test(request):
        return render_to_response("test.html")

推荐答案

您编写的上下文处理器应该可以工作.问题在你看来.

你确定你的视图被渲染为RequestContext吗?

例如:

def test_view(request):
    return render_to_response('template.html')

上面的视图将不使用TEMPLATE_CONTEXT_PROCESSORS中列出的上下文处理器.确保您提供的是RequestContext,如下所示:

def test_view(request):
    return render_to_response('template.html', context_instance=RequestContext(request))

Django相关问答推荐

Django Prefetch上的多重过滤

我如何告诉Django如何恢复自定义迁移?

在Django的个人页面中的问题

一次请求中更新整个Django模型

为什么 timezone.now 在作为默认值应用于 Django 中的 DateField 时显示future 日期

如何根据反向外键相关模型的字段过滤 QuerySet?

Django 表单有 Select 但也有自由文本选项?

如何从 django 模板生成静态 html 文件?

django 管理员登录突然要求 csrf 令牌

Django REST 异常

Django App 配置不当 - 应用程序模块有多个文件系统位置

__init__() 得到了一个意外的关键字参数user

django:manytomanyfield 和 through 如何出现在 admin 中?

如何在 django 中分离我的模型?

如何找到两个 Django 查询集的交集?

Django 1.7 - 如何 suppress (1_6.W001)某些元素单元测试可能无法按预期执行.?

Django 应用程序运行良好,但收到 TEMPLATE_* 警告消息

Django - 安装 mysqlclient 错误:需要 mysqlclient 1.3.13 或更高版本;你有 0.9.3

有没有一种简单的方法可以从 CharField 填充 SlugField?

我将如何package打包和销售 Django 应用程序?