普通のシステムエンジニアの備忘録

きみひで と言います。個人勉強で触れた技術など備忘禄と時々日常を綴ります。

Django 画像アップロード

DjangoCRUD処理はある程度コツを掴んだので、次は画像のアップロードに挑む

 

参考記事

 

qiita.com

 

qiita.com

 

Pillowをインストール

 

modelにImageを追加

image = models.ImageField(upload_to='images/', blank=True)

 

blank=Trueをつけなかったら、makemigrationsの時にエラー出て進めなかった。

 

 

 

 

 

 

■画像のアップロードは出来て、media/images/の下にもjpgが置かれる所まではスムーズに出来たが、表示の所で404!

Not Found: /media/images/sample.jpg
[28/Feb/2019 13:45:18] "GET /media/images/sample.jpg HTTP/1.1" 404 2116

 

どうやらurl.pyに👇が必要だったらしい。

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

f:id:kimihide1104:20190228225155p:plain

 

 

■表示でつまづいた点、その2

image.urlがブランクだとエラーになるっぽい

f:id:kimihide1104:20190228225759p:plain

 

解決方法

以下のようにすれば解決!

{% if item.image %}
<img src="{{ item.image.url}}" width="200" height="200" alt="">
{% endif %}

 

 

 

 

画像のサイズを編集する方法

 

qiita.com

 

 

Django-ImageKitとか言うのをインストールしてみた

上記リンク方法を試した結果 CACHEと言うフォルダが自動生成されてその中に、アップロードしたファイルの変換後ファイルが出来てた

 

f:id:kimihide1104:20190319231544p:plain