gpt4 book ai didi

python - 如何将占位符文本添加到 Django 管理字段

转载 作者:行者123 更新时间:2023-12-02 00:13:06 25 4
gpt4 key购买 nike

我想将占位符文本添加到 Django 管理更改表单中的字段。在常规 ModelForm 中,您可以通过覆盖字段的小部件或通过修改 ModelForm __init__() 方法中的 self.fields['my_field'].widget 来完成此操作。我如何为 Django 管理员做类似的事情?

最佳答案

记录的方法是覆盖 get_form() :

The base implementation uses modelform_factory() to subclass form, modified by attributes such as fields and exclude.

如果您查看 modelform_factory 的文档您会看到您可以将 widgets 作为 kwarg 传递。所以这应该有效:

class MyModelAdmin(admin.ModelAdmin):
def get_form(self, request, obj=None, **kwargs):
kwargs['widgets'] = {
'name': forms.TextInput(attrs={'placeholder': 'e.g. John Doe'})
}
return super().get_form(request, obj, **kwargs)

或者,如果您想确保没有覆盖任何小部件(如果您继承自 ModelAdmin 的子类):

 kwargs['widgets'] = kwargs.get('widgets', {})
kwargs['widgets'].update({'name': ...})

关于python - 如何将占位符文本添加到 Django 管理字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58214337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com