Django模型中ImageField字段的使用

需求

在django admin后台实现图片上传功能

图片上传

使用

setting.py配置

上传图片在项目中的存储跟目录路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/media')
MEDIA_URL = '/media/'

数据库模型配置

class CloudPlatform(models.Model):
        logo_url = models.ImageField(verbose_name='icon图片', null=True, blank=True, upload_to='image', max_length=200)

数据库模型修改之后,进行迁移

python manage.py makemigrations

python manage.py migrate

admin后台注册

class CloudPlatformConfigAdmin(admin.ModelAdmin):
    list_display = ('id', 'name', 'key', 'provider', 'status', 'logo_url')


admin.site.register(CloudPlatform, CloudPlatformConfigAdmin)

admin后台页面如下:

图片1

图片上传之后路径如下

图片2

图片存储路径由MEDIA_ROOT和模型字段中的upload_to共同来决定。如果不配置MEDIA_ROOT,则图片将存储在根目录下的image文件夹下。

数据库存储值

在数据库中存储的是每一个文件的相对路径,只跟字段的up_load属性有关


截屏2022-02-16下午3.19.33.png

你可能感兴趣的:(Django模型中ImageField字段的使用)