[问题] Django Custom field 无法显示出来

楼主: HenryLiKing (HenryLiKing)   2019-08-23 22:47:17
大家好! 我之前都在使用 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 的字段!
不知道是什么原因?
请教各位前辈了!
先谢谢大家!
作者: djshen (djshen)   2019-08-24 19:48:00
model field和form field是不同东西吧
楼主: HenryLiKing (HenryLiKing)   2019-08-25 00:57:00
可是我有在 form field Meta 中定义要显示 all 啊
作者: djshen (djshen)   2019-08-25 11:32:00
__all__应该只认model里的model field吧你要思考model和form的角色是什么

Links booklink

Contact Us: admin [ a t ] ucptt.com