フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

Djangoのpillowを利用するときの設定

はじめに

  • 前回の下記の記事でDjangoでpillowのインストールまで実施したので、今回は画像がアップロードできる状態まで設定する px-wing.hatenablog.com

MEDIA_ROOTとMEDIA_URLの設定

  • プロジェクトフォルダにあるsetting.pyファイルにファイルアップロード先のフォルダを指定する
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

docs.djangoproject.com

アップロードしたファイルをURLとの紐づけ

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
    ・・・・
 ・・・・
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

モデルの作成

  • 下記のようなモデルを作成する
  • ファイルアップロードのフィールドはImageFieldを利用する
class Bbs(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    author = models.CharField(max_length=100)
    images = models.ImageField(upload_to='')
    good = models.IntegerField()
    read = models.IntegerField()
    readtext = models.CharField(max_length=200)

作成したモデルをadminで表示できる設定

  • アプリケーションフォルダにあるadmin.pyの設定を下記のように行う.
# Register your models here.
from django.contrib import admin
from .models import  BoardModel

# Register your models here.

admin.site.register(BoardModel)

実行

  • 下記の管理画面が生成されるため、ファイルアップロードをすると指定したフォルダに画像が保存される。 f:id:PX-WING:20200807235444p:plain