Django在基类中形成

时间:2017-04-24 02:03:22

标签: python django

forms.py

class search_form(forms.Form):
    options = categories.objects.all()
    category = forms.ModelChoiceField(options, initial={'All':'All'}, label='')
    search = forms.CharField(max_length=100, label='', required=False)

此表单用于搜索项目。现在我已经在索引页面上实现了它,它按预期工作。索引(主页)页面有自己的视图,使用此表单,但我有一个基本模板(base.html),网站上的每个页面都扩展。基本模板包含菜单栏和站点的页脚。我需要将表单添加到基类,并让它在扩展它的每个模板中运行。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

您可以添加custom context processor,这对于将数据传递到每个模板上下文非常有用,这样每个模板都可以访问您的表单。

如文档中所述,您需要创建一个函数,该函数将返回包含您的表单的字典,并在设置中指向它。