プロジェクトルートにmediaフォルダを作成します。
settings.pyでmediaルートを設定します。os.path.joinの第二引数はアプリケーションのフォルダ、第三引数はフォルダ名(media)です。
settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'sales', 'media') MEDIA_URL = '/media/' STATIC_ROOT = os.path.join(BASE_DIR, 'sales', 'static') STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
from django.conf import settings from django.conf.urls.static import static urlpatterns = [ // 省略 ] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
mediaルートに画像を置きます。
templateで呼び出してみましょう。
<img src="/media/img/qrcode.png" width=100 height=100>
うまく表示されています。
さて、次はどこでqrコードを生成するかです。
商品生成時にidで作りたいが、idはmysql側で付与されるから、
*save() とした後に以下のようにすれば良いのかな。
*.objects.order_by(“id”).last()