Python 在Django的基模板中使用form_类

Python 在Django的基模板中使用form_类,python,django,django-forms,django-templates,django-haystack,Python,Django,Django Forms,Django Templates,Django Haystack,我使用的是django haystack,它有一个视图SearchView和一个表单SearchForm。我在/search/页面上的SearchView中看到这个SearchForm,它就像一个符咒 但是我想在我所有的页面中都使用搜索表单。因此,我需要将它放在我的模板base.html中,而不是特定于页面的模板search.html 但是上下文变量{{form}}仅在我的视图SearchView中可用,而不是在所有页面上 我怎样才能解决这个问题?我认为上下文处理器或中间件可以做到这一点,但在中

我使用的是
django haystack
,它有一个视图
SearchView
和一个表单
SearchForm
。我在
/search/
页面上的
SearchView
中看到这个
SearchForm
,它就像一个符咒

但是我想在我所有的页面中都使用搜索表单。因此,我需要将它放在我的模板
base.html
中,而不是特定于页面的模板
search.html

但是上下文变量
{{form}}
仅在我的视图
SearchView
中可用,而不是在所有页面上


我怎样才能解决这个问题?我认为上下文处理器或中间件可以做到这一点,但在中间件中做到这一点似乎有些过分。通常的做法是什么?我想很多其他人在我之前都遇到过这个问题。

最安全的解决方案是使用自定义templatetag—最好是包含标记(),这样就不会覆盖其他视图的上下文(因为使用
'form'
作为上下文变量是视图处理表单的常见做法)

您可能仍然需要滚动您自己的搜索视图(基于默认视图),以使整个过程按您的意愿运行