擅长:python、mysql、java
<p>有文档记录的方法是重写<a href="https://docs.djangoproject.com/en/stable/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_form" rel="nofollow noreferrer">^{<cd1>}</a>:</p>
<blockquote>
<p>The base implementation uses <code>modelform_factory()</code> to subclass form,
modified by attributes such as <strong>fields</strong> and <strong>exclude</strong>.</p>
</blockquote>
<p>如果您查看<a href="https://docs.djangoproject.com/en/stable/ref/forms/models/#django.forms.models.modelform_factory" rel="nofollow noreferrer"><strong>modelform_factory</strong></a>的文档,您将看到可以将<code>widgets</code>作为<strong>kwarg</strong>传递。所以这应该是有效的:</p>
<pre><code>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)
</code></pre>
<p>或者,如果您想确保没有重写任何小部件(如果您继承了<code>ModelAdmin</code>的子类):</p>
^{pr2}$