Django 是一个流行的 Python Web 开发框架,它允许开发者快速构建高质量的 Web 应用程序。Django 提供了许多内置的功能,如表单处理、模型管理、用户认证和授权等。
在 Django 中,Formset 是一个用于处理多个相同表单的工具。有时候,我们需要在创建 Formset 时传递自定义参数给表单。以下是如何实现这一目标的方法:
from django import forms
from myapp.forms import CustomForm
def my_view(request):
custom_param = 'example_value'
formset = forms.formset_factory(CustomForm, extra=3)
forms_with_params = [form(custom_param=custom_param) for form in formset()]
context = {'forms': forms_with_params}
return render(request, 'mytemplate.html', context)
__init__
方法中接收该参数。class CustomForm(forms.Form):
field1 = forms.CharField()
field2 = forms.CharField()
def __init__(self, custom_param=None, *args, **kwargs):
super(CustomForm, self).__init__(*args, **kwargs)
self.custom_param = custom_param
{{ form.custom_param }}
访问自定义参数。{% for form in forms %}
<form>
{{ form.custom_param }}
{{ form.field1.label_tag }} {{ form.field1 }}
{{ form.field2.label_tag }} {{ form.field2 }}
</form>
{% endfor %}
这样,您就可以在 Django 中将自定义参数传递给 Formset 了。
领取专属 10元无门槛券
手把手带您无忧上云