大家好! 我之前都在使用 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 的欄位!
不知道是什麼原因?
請教各位前輩了!
先謝謝大家!