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