1. 程式人生 > >Django 使用admin後臺上傳圖片

Django 使用admin後臺上傳圖片

該方式上傳圖片,是在localhost:8000/admin/瀏覽器中登入賬號密碼之後,在admin後臺上傳圖片
步驟:
通過admin後臺系統實現圖片的上傳;
a>Model中的圖片欄位必須寫成models.ImageField(),因為在admin管理頁面中,是會將這個ImageField()欄位渲染成一個選擇檔案的input標籤;
b>圖片上傳的路徑不需要手動建立檔案夾了,只需要設定upload_to,所有的目錄都會自動建立;

首先,在專案根目錄下建立一個資料夾static,並在其下面建立一個資料夾images
在settings.py檔案下,進行註冊

STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

# 只要是上傳圖片,一定要設定MEDIA_ROOT這個鍵,這個鍵的名字不能修改。
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/images')

在models.py檔案中,建立一個Model

from django.db import models

# Create your models here.


class PModel(models.Model):
    pic_url = models.ImageField(upload_to='upload/%Y/%m')

    def __str__(self):
        return self.pic_url.name

    class Meta:
        db_table = 'pic'

在admin.py中進行註冊

from django.contrib import admin
from .models import PModel
# # 只要使用admin後臺系統,所有的Model必須在這裡進行註冊,否則,admin後臺是不會顯示相關Model的。
admin.site.![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181031214708531.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nbWVuZ3Jhbg==,size_16,color_FFFFFF,t_70)register(PModel)

程式碼寫完之後,首先同步到資料庫。
再使用python manage.py creatsuperuser 建立一個使用者
在瀏覽器中輸入localhost:8000/admin/,進行賬號密碼登入。在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述