擅长:python、mysql、java
<p>重写ModelAdmin上的<code>render_change_form()</code>方法,该方法提供对表单实例的访问:</p>
<pre><code>class Address(model.Model):
street = models.CharField(max_length=50)
class AddressAdmin(admin.ModelAdmin):
def render_change_form(self, request, context, *args, **kwargs):
form_instance = context['adminform'].form
form_instance.fields['street'].widget.attrs['placeholder'] = 'Your street'
return super().render_change_form(request, context, *args, **kwargs)
</code></pre>
<p>对于其他字段属性,如<code>autocomplete</code>、<code>autofocus</code>、<code>min</code>、<code>max</code>、<code>required</code>、<code>type</code>或{<cd8>}等属性,这种方法是相同的。您还可以访问提供模型实例的<code>context["original"]</code>,以防您想根据模型实例更改行为。在</p>
<p>源代码是最好的参考:
<a href="https://docs.djangoproject.com/en/2.2/_modules/django/contrib/admin/options/#ModelAdmin" rel="nofollow noreferrer">https://docs.djangoproject.com/en/2.2/_modules/django/contrib/admin/options/#ModelAdmin</a></p>