我已经为子类提供的表单定义了一个自定义字段和小部件UpdateView
。因此,如下所示:
myapp/forms.py
:
from .form_fields import MyCustomField from .widgets import MyCustomWidget class MyModelForm(forms.ModelForm): my_field = MyCustomField(queryset=MyModel.objects.all(), widget=MyCustomWidget)
myapp/views.py
:
from django.views.generic import UpdateView from .forms import MyModelForm class MyView(UpdateView): form_class = MyModelForm
myapp/widgets.py
:
from django.forms import Widget from django.template.loader import render_to_string from django.utils.safestring import mark_safe class MyCustomWidget(Widget): context_data = { 'custom_data': custom_data } html_output = render_to_string('myapp/widgets/my_custom_widget.html', context_data) return mark_safe(html_output)
基本上,我希望能够custom_data
从我的视图(例如,从会话存储或表单实例)传递到小部件。