ホームページ  >  記事  >  バックエンド開発  >  ユーザーがアップロードしたメディアを Django アプリケーションで提供するにはどうすればよいですか?

ユーザーがアップロードしたメディアを Django アプリケーションで提供するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-08 04:50:01577ブラウズ

How can I serve user-uploaded media in my Django application?

Django でユーザーがアップロードしたメディアを提供する

Django とユーザーがアップロードしたメディアを操作する場合は、2 つの重要な設定を理解することが重要です: MEDIA_URLおよび MEDIA_ROOT。これらの設定は、アップロードされたファイルの保存場所と、フロントエンドでのファイルへのアクセス方法を決定します。

MEDIA_URL

MEDIA_URL は、アップロードされたメディアにアクセスできるパブリック URL の場所を指定します。デフォルトでは、「/media/」に設定されています。これは、MEDIA_ROOT にアップロードされたファイルが「http://yourdomain.com/media/」のような URL で提供されることを意味します。

MEDIA_ROOT

MEDIA_ROOT は絶対パスを指定します。アップロードされたメディアが保存されるファイル システム パス。デフォルトでは、「/path/to/project/media/」に設定されています。このディレクトリが存在し、Web サーバー プロセスによって書き込み可能であることを確認することが重要です。

ローカルでメディアを提供する

ローカル マシンでの開発中に、問題が発生する可能性があります。 URL 設定が欠落しているため、アップロードされた画像を表示できません。これを解決するには:

Django >= 1.7 の場合

URL 構成ファイル (urls.py) に以下を追加します:

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

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

Django はデバッグ時に静的メディアの提供を自動的に処理しますmode.

Django

URL 構成ファイル (urls.py) に次の内容を追加します。

from django.conf import settings

urlpatterns += patterns('',
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {
    'document_root': settings.MEDIA_ROOT})
)

This構成により、Django が静的メディアを提供できるようになります

アップロードされた画像へのアクセス

適切な URL 設定が完了すると、次の URL 形式を使用してアップロードされた画像にアクセスできるようになります:

http://yourdomain.com/media/path/to/image.png

「path/to/image.png」は、MEDIA_ROOT 内のアップロードされた画像への相対パスです。ディレクトリ。

以上がユーザーがアップロードしたメディアを Django アプリケーションで提供するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。