Django の MEDIA_URL と MEDIA_ROOT: 画像アクセスの問題の解決
Django では、MEDIA_URL と MEDIA_ROOT 設定は、アップロードされたファイルとそれらをフロントエンドに提供します。一般的なシナリオは、Django 管理者を使用して画像をアップロードし、URL またはフロントエンド ページでその画像にアクセスすることです。
提示された問題に従って、アップロードは正しく保存されますが、URL にアクセスすると 404 エラーが発生します。この問題を解決するには、URLconf パターンを利用できます。
Django 1.7 および上記
Django 2.1 ドキュメントに従って、次のスニペットを URL 設定に追加すると、開発中にアップロードされたメディアを含む静的ファイルの提供が処理されます:
from django.conf.urls.static import static urlpatterns = patterns(...) + static(MEDIA_URL, document_root=MEDIA_ROOT)
Django 1.6 以前の解決策
Django の古いバージョンの場合は、次のとおりです。 URLconf は静的メディアを提供するように構成できます:
from django.conf.urls.patterns import patterns, url from django.views.static import serve if settings.DEBUG: urlpatterns += patterns('', url(r'^media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}))
この構成を追加すると、開発中に DEBUG = True (ローカル マシン上) の場合に Django は静的ファイルを提供します。ただし、運用環境では、DEBUG = False の場合に静的メディアの配信を処理するように Web サーバーを構成できます。
このソリューションにより、Django の MEDIA_URL および MEDIA_ROOT 設定を使用して、ローカル マシン上の画像を正常にアップロードしてアクセスできるようになります。
以上がDjango の MEDIA_URL と MEDIA_ROOT を使用してアップロードされた画像を提供するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。