Django 如何将自定义上下文导入haystack索引模板

Django 如何将自定义上下文导入haystack索引模板,django,django-haystack,Django,Django Haystack,如何使自定义上下文处理器生成的上下文在haystack索引模板中可用 (我的意思是:haystack在执行/manage.py rebuild\u index时读取的模板文件) 我可以使用显式的{%load%}模板标记加载自定义过滤器,但我看不到如何加载自定义上下文。当我尝试使用它时,它的行为就像没有定义自定义上下文一样 我需要它,因为对象的某些字段的可搜索(字符串)表示需要一个函数来生成它(该字段实际上是一个枚举,但用户希望搜索该字段中值的全文字符串)。好的,我被您使用的“索引模板”弄糊涂了—

如何使自定义上下文处理器生成的上下文在haystack索引模板中可用

(我的意思是:haystack在执行
/manage.py rebuild\u index
时读取的模板文件)

我可以使用显式的
{%load%}
模板标记加载自定义过滤器,但我看不到如何加载自定义上下文。当我尝试使用它时,它的行为就像没有定义自定义上下文一样


我需要它,因为对象的某些字段的可搜索(字符串)表示需要一个函数来生成它(该字段实际上是一个枚举,但用户希望搜索该字段中值的全文字符串)。

好的,我被您使用的“索引模板”弄糊涂了——据我所知,您正在学习用于构建Haystack索引的搜索文档的模板


正如您所注意到的,呈现时不涉及请求,因此不能使用RequestContext。这应该是上下文处理器不是正确解决方案的一个线索:您应该使用模板标记和过滤器。

您需要显示一些详细信息。上下文处理器在任何模板中都是自动可用的(只要是通过RequestContext呈现的)。但是haystack索引模板在任何通常意义上都不是“呈现”的。Haystack使用它生成搜索输入AIUI。这绝对是一个django haystack特有的问题。@GreenAsJade您能展示一下您的上下文处理器吗?您为什么不使用模板标记而不是上下文处理器功能?@GreenAsJade回应您的第二条评论:因此没有涉及实际请求,因此自定义上下文不可用,因为加载程序无法使用
RequestContext
实际上是有意义的-我可能一开始就滥用了自定义上下文处理器,现在我想了想:既然它不需要知道任何关于一个对象的信息来给出它的答案,那么它就不是真正的上下文!这只是定制标签可以带来的东西。