Django の MEDIA_URL と MEDIA_ROOT を使用してアップロードされた画像を提供するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-17 02:45:03
オリジナル
379 人が閲覧しました

How to Serve Uploaded Images with Django's MEDIA_URL and MEDIA_ROOT?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート