需求
在django admin后臺(tái)實(shí)現(xiàn)圖片上傳功能

圖片上傳
使用
setting.py配置
上傳圖片在項(xiàng)目中的存儲(chǔ)跟目錄路徑
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/media')
MEDIA_URL = '/media/'
數(shù)據(jù)庫(kù)模型配置
class CloudPlatform(models.Model):
logo_url = models.ImageField(verbose_name='icon圖片', null=True, blank=True, upload_to='image', max_length=200)
數(shù)據(jù)庫(kù)模型修改之后,進(jìn)行遷移
python manage.py makemigrations
python manage.py migrate
admin后臺(tái)注冊(cè)
class CloudPlatformConfigAdmin(admin.ModelAdmin):
list_display = ('id', 'name', 'key', 'provider', 'status', 'logo_url')
admin.site.register(CloudPlatform, CloudPlatformConfigAdmin)
admin后臺(tái)頁(yè)面如下:

圖片1
圖片上傳之后路徑如下

圖片2
圖片存儲(chǔ)路徑由MEDIA_ROOT和模型字段中的upload_to共同來(lái)決定。如果不配置MEDIA_ROOT,則圖片將存儲(chǔ)在根目錄下的image文件夾下。
數(shù)據(jù)庫(kù)存儲(chǔ)值
在數(shù)據(jù)庫(kù)中存儲(chǔ)的是每一個(gè)文件的相對(duì)路徑,只跟字段的up_load屬性有關(guān)

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