大家好! 我之前都在使用 Flask 最近刚接触 Django
我看到可以客制化自己的 admin 字段
我想要自己做一个有额外功能的 ImageField
所以我继承了 forms.ImageField
并在 Post Model 中加入这个字段
# Model.py
class mImageField(forms.ImageField):
def clean(self, value, initial=None):
super(forms.ImageField, self).clean(value)
print("B64ImageField", type(value))
return value
class Post(models.Model):
title = models.CharField(max_length=50)
image_url = models.CharField(max_length=100,default="/static/images/xd.jpg")
image_select = mImageField()
最后在 admin.py 中设定我要用的 form
# admin.py
class PostmImgForm(forms.ModelForm):
class Meta:
model = Post
fields = "__all__"
class PostModelAdmin(admin.ModelAdmin):
form = PostmImgForm
# Register your models here.
# admin.site.register(Post)
admin.site.register(Post, PostModelAdmin)
# 结果
但是最后在 admin 的画面中并没有出现 image upload 的字段!
不知道是什么原因?
请教各位前辈了!
先谢谢大家!