【问题标题】:Django form in a base class基类中的 Django 表单
【发布时间】:2017-04-24 02:03:21
【问题描述】:

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),站点上的每个页面都扩展了该模板。基本模板包含站点的菜单栏和页脚。我需要将表单添加到基类并让它在扩展它的每个模板中起作用。

有没有办法做到这一点?

【问题讨论】:

    标签: python django


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的提示。不知道这一点,我将基于类的视图子类化并使用我的版本返回一些额外的上下文。这似乎更简单,不知何故:)
    猜你喜欢
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 2012-01-03
    • 2011-09-18
    相关资源
    最近更新 更多