Django SelectDateWidget-如何分别访问每个子字段?

Django SelectDateWidget-如何分别访问每个子字段?,django,django-forms,django-templates,Django,Django Forms,Django Templates,在项目中使用了SelectDateWidget,要在模板中呈现它,只需编写form.date\u of_sth,但它会在一个模板中呈现所有小部件(选择)。我想分别渲染每一个。有什么办法吗?在Django 1.11中: 导入要修改的小部件。您的选择可在此处找到: 创建一个子类并指定模板名称 # app/widgets.py from django.forms.widgets import DefaultWidget class CustomWidget(DefaultWidget): t

在项目中使用了
SelectDateWidget
,要在模板中呈现它,只需编写
form.date\u of_sth
,但它会在一个模板中呈现所有小部件(选择)。我想分别渲染每一个。有什么办法吗?

在Django 1.11中:

导入要修改的小部件。您的选择可在此处找到:

创建一个子类并指定模板名称

# app/widgets.py
from django.forms.widgets import DefaultWidget

class CustomWidget(DefaultWidget):
    template_name = 'app/widget.html'
创建模板。这完全是从django/forms/widgets/multiwidget.html复制的,但是您可以在这里放置任何您想要的内容。您还可以参考其他现有的小部件模板以获得灵感。您的选择可在此处找到:

导入CustomWidget并将其添加到表单中的字段中

# app/forms.py
from django import forms
from .widgets import CustomWidget

class MyForm(forms.Form):
    my_field = forms.ExampleField(widget=CustomWidget())
最后,在模板中,呈现主字段,它将引用app/templates/app/widget.html,根据您创建的模板手动呈现每个子字段

# app/forms.py
from django import forms
from .widgets import CustomWidget

class MyForm(forms.Form):
    my_field = forms.ExampleField(widget=CustomWidget())