django - 如何编辑由modelformset_factory生成的FormSet生成的表单?
问题描述
所以我有我在我的模板中使用的这个表单集:
def manage_authors(request):
AuthorFormSet = modelformset_factory(Produkt, fields=('nazwa','ilosc','minimum',),extra=0)
if request.method == 'POST':
formset = AuthorFormSet(request.POST or None, request.FILES or None)
if formset.is_valid():
formset.save()
else:
formset = AuthorFormSet()
return render(request, 'manage_authors.html', {'formset': formset})
我希望我可以编辑在 html 页面中生成的字段的属性,更改最大长度、大小、标签。现在我只是获取默认字段,我知道如何为预定义的表单执行此操作,但是这种情况呢?
解决方案
如此处所述,您还可以将自定义ModelForm
(例如ProduktForm
)传递给modelform-factory
:
AuthorFormSet = modelformset_factory(Produkt, form=ProduktForm, fields=('nazwa','ilosc','minimum',),extra=0)
此外,如果您只需要自定义可以使用 的Meta
类进行自定义的内容,则ModelForm
可以直接在您的 formset_factory 中执行此操作:
AuthorFormSet = modelformset_factory(Produkt, fields=('nazwa','ilosc','minimum',), extra=0,
widgets={'nazwa': Textarea(max_length=20)},
labels={'nazwa': 'custom label'})
推荐阅读
- r - R - 将操作应用于每列数据框 X 引用数据框 Y 的条目
- r - R:通过合并两个变量的内容来创建一个新变量
- java - 给定字符串的空心正方形
- python - 如何在 tkinter.Listbox 中重置选择顺序?
- macos - Flutter 无法在 Mac 上安装
- python - pip install vs python -m pip install with virtualenvs
- sql - PostgreSQL 12 在 select 语句中包含变量
- reactjs - NEXTJS - 如何加载 webm、mp4 文件?
- python - 寻找 ”。” 并从“。”中删除 后跟 2 个零
- swift - 更改特定目标 Fastlane 的版本和内部版本号