python网站:django覆写admin控件 在admin中,可以自定义form来覆写控件。 下面举例用select替换charfield,用自定义控件替换textarea: ```python from django import forms class BlogAdminForm(forms.ModelForm): cate = models.Category.objects.all() cate_choices = [] for item in cate: cate_choices.append((item.title, item.title)) category = forms.ChoiceField(choices=cate_choices) class Meta: model = models.BlogPost fields = '__all__' widgets = { 'body': AdminMarkdownWidget } class BlogPostAdmin(admin.ModelAdmin): list_display = ('title', 'timestamp') readonly_fields = ('guid',) form = BlogAdminForm def save_model(self, request, obj, form, change): obj.body = request.POST["body"] return super(BlogPostAdmin, self).save_model(request, obj, form, change) ``` 来自 大脸猪 写于 2016-12-09 14:14 -- 更新于2020-10-19 13:06 -- 0 条评论