Приложение django, развернутое в Azure, не отображает медиафайлы на фронтенде Vuejs в prooduction

Вот пакеты, которые я использую

Django==3.2
django-storages==1.12.3

Я пытаюсь развернуть django REST API с Vuejs frontend на azure. Вот моя структура каталогов для django API.

enter image description here

Я использовал djang-storages[azure] для использования контейнера azure blob для хранения медиафайлов. Я прошел через руководство по настройке соединения blob с django. Некоторые настройки, которые я сделал с помощью settings.py, следующие

Settings.py

MEDIA_LOCATION = "media"

AZURE_ACCOUNT_NAME = "my account name"
AZURE_ACCOUNT_KEY="my token"
AZURE_CUSTOM_DOMAIN = f'{AZURE_ACCOUNT_NAME}.blob.core.windows.net'
AZURE_LOCATION="media"
AZURE_CONTAINER="media"

STATIC_LOCATION = "static"
STATIC_URL = f'https://{AZURE_CUSTOM_DOMAIN}/{STATIC_LOCATION}/'
STATICFILES_STORAGE = 'storages.backends.azure_storage.AzureStorage'
DEFAULT_FILE_STORAGE = 'el.custom_azure.AzureMediaStorage'
AZURE_CONNECTION_TIMEOUT_SECS=100

и мой custom_azure.py выглядит следующим образом

custom_azure.py

from storages.backends.azure_storage import AzureStorage

class AzureMediaStorage(AzureStorage):
    account_name="eltechstorage"
    account_key="my token"
    azure_container="media"
    expiration_specs=None

urls.py

from django.contrib import admin
from django.urls import path,include
from django.contrib.staticfiles.urls import  staticfiles_urlpatterns
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
    path('admin/', admin.site.urls),
    path("",include("main.urls"))
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

Когда я использую контейнер azure blob для загрузки медиафайлов, он отлично работает в среде разработки, и когда я тестирую API из развернутого url, он выдает мне путь к файлу, как и ожидалось, и если я перехожу к нему, он загружает файл для меня, все работает отлично. Ниже приведен пример ответа от API. enter image description here

Проблема

Но когда я использую развернутую версию Django и Vuejs App, и открываю страницу, на которой API возвращает объект, содержащий ссылку на файл. она выдает ошибку 404. Любые подсказки или помощь по этому поводу будут очень признательны.

Согласно документу django, статический помощник работает только в режиме отладки. поэтому в производственной среде, если у вас не включен режим отладки, то статический вид не будет доступен. в качестве временной меры, вы можете включить отладку, поставив DEBUG=True в настройках приложения. согласно рекомендации django, вы должны обслуживать ваши статические файлы на выделенном сервере в производственной среде.

Вернуться на верх