我試圖在其中設定媒體根目錄和媒體 URL,但是當除錯為假時不回傳任何內容
設定.py
...
DEBUG = False
ALLOWED_HOSTS = [
'127.0.0.1',
'0.0.0.0',
...
]
...
STATIC_URL = 'static/'
STATICFILES_DIRS = [
BASE_DIR / "static",
]
STATIC_ROOT = BASE_DIR / 'staticfiles'
MEDIA_ROOT = BASE_DIR / 'media'
MEDIA_URL = 'media/'
網址.py
...
urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns = static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
...
我應該怎么做才能在我的專案中回傳媒體檔案
uj5u.com熱心網友回復:
時DEBUG=False,將無法訪問本地檔案。您需要嘗試任何在線存盤靜態和媒體檔案,例如 AWS S3 存盤桶等。
指導:
https://simpleisbetterthancomplex.com/tutorial/2017/08/01/how-to-setup-amazon-s3-in-a-django-project.html
uj5u.com熱心網友回復:
我找到了答案
網址.py
...
from django.urls import re_path
from django.conf import settings
from django.conf.urls.static import static
from django.views.static import serve
...
urlpatterns = [
...
re_path(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}),
...
]
...
# urlpatterns = static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns = static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
...
這個re_path函式可以請求settings.pyMEDIA_ROOT中的所有檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/513289.html
標籤:Pythondjango网络django 设置django 媒体
