Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在Django中使用上下文处理器而不使用请求对象?_Django - Fatal编程技术网

是否可以在Django中使用上下文处理器而不使用请求对象?

是否可以在Django中使用上下文处理器而不使用请求对象?,django,Django,描述了当您有一个请求实例时上下文处理器的使用——典型的用法是在呈现模板时使用RequestContext而不是context 但是,如果您需要上下文处理器,但不在请求/响应周期内运行,该怎么办?一个示例用例是根据电子邮件报告的信号或管理命令呈现模板。必须在请求周期内预呈现任何内容(从而失去信号提供的松耦合优势),或者必须为每次呈现调用手动调用上下文(如“站点”),这非常不方便 当没有请求实例时,有没有办法获取默认的上下文处理器?好吧,你可以通过设置来获取它们。模板上下文处理器,但是你不能使用它们

描述了当您有一个请求实例时上下文处理器的使用——典型的用法是在呈现模板时使用
RequestContext
而不是
context

但是,如果您需要上下文处理器,但不在请求/响应周期内运行,该怎么办?一个示例用例是根据电子邮件报告的信号或管理命令呈现模板。必须在请求周期内预呈现任何内容(从而失去信号提供的松耦合优势),或者必须为每次呈现调用手动调用上下文(如“站点”),这非常不方便


当没有
请求
实例时,有没有办法获取默认的上下文处理器?

好吧,你可以通过
设置来获取它们。模板上下文处理器
,但是你不能使用它们,因为你需要一个请求实例来实现这一点。

如果呈现模板需要请求,为什么不在发送信号时将其作为
发送方
参数传递

def my_view(request):
    my_signal.send(sender=request, foo=True)
    return HttpResponse("YadaYadaYada")