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'
作为上下文变量是视图处理表单的常见做法)
您可能仍然需要滚动您自己的搜索视图(基于默认视图),以使整个过程按您的意愿运行