Можно ли настроить бесплатное веб-приложение на Azure с помощью статических файлов?

Я пытаюсь развернуть свой первый проект Django, но по какой-то причине статические файлы не работают должным образом. Когда я проверяю статическую директорию в моем SSH, она показывает, что файлы там есть, но шаблон их не видит. Мои настройки:

STATIC_ROOT = BASE_DIR / "static"
STATIC_URL = "static/"

STATICFILES_DIRS = [
    BASE_DIR / "assets"
]

Я не смог найти на stack overflow ответов, которые могли бы мне помочь, поэтому я спросил chatGPT, и он сказал, что мне нужно создать хранилище в Azure. Когда я спросил его, есть ли бесплатные планы хранения, он сказал, что нет, но я не должен платить много, и направил меня к калькулятору цен, который показал 21 доллар за месяц. В этом приложении есть забавный static, содержащий только base.css и фотографию гриба. Действительно ли я должен платить за него $21 или даже больше в месяц?

Интересно, есть ли другой способ, кроме создания хранилища, или, возможно, цены в калькуляторе были неверными.

Код:

https://github.com/JJDabrowski/Shroomcast

Чтобы успешно обслуживать статические файлы в производстве, я использовал WhiteNoise и развернул его в Azure App Service.

Я использовал ваш код из git-репо и внес необходимые изменения.

Чтобы использовать whitenoise, я добавил в файл settings.py следующие строки, как показано ниже:

Примечание: добавьте промежуточное ПО whitenoise после промежуточного ПО безопасности.

settings. py:

INSTALLED_APPS = [
       'otherInstalledApps
       "whitenoise.runserver_nostatic",
]


MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
    'other middlewares'
    ]


STATIC_ROOT = BASE_DIR / "static"
STATIC_URL = "static/"

STATICFILES_DIRS = [
    BASE_DIR / "assets"
]

STATICFILES_STORAGE = ('whitenoise.storage.CompressedManifestStaticFilesStorage')

Я добавил белый шум в файл requirements.txt, как показано ниже.

requirements.txt:

Django==4.2.1
requests==2.31.0
whitenoise==6.6.0

Я выполнил приведенные ниже команды для установки whitenoise и сбора статических файлов для производства.

pip install whitenoise   
python manage.py collectstatic 
python manage.py migrate       

LocalOutput:

enter image description here

Он был успешно развернут в службе приложений azure.

Azure App Service Output:

enter image description here

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