Установка статических url в Django не работает в продакшене

Я загрузил stsatic файлы на Cloudflare R2 с помощью команды python manage.py collectstatic, и проверенные файлы находятся там.

Также разрешен публичный доступ для ведра R2.

У меня в моем settings.py файле есть вот это, связанное со статикой:

STATIC_HOST = env("STATIC_HOST")

STATIC_URL = STATIC_HOST + "/static/"

STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")

STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)

STATICFILES_STORAGE = (
    "django.contrib.staticfiles.storage.StaticFilesStorage"
    if DEBUG
    else "myproject.backends.storages.StaticStorage"
)

...и это мой .env файл:

DEBUG=True


AWS_ACCESS_KEY_ID=my_r2_access_key_id

AWS_SECRET_ACCESS_KEY=my_r2_secret_access_key

AWS_STORAGE_BUCKET_NAME=my_r2_bucket_name

# Endpoint for uploads
AWS_S3_ENDPOINT_URL=https://my_account_id.r2.cloudflarestorage.com

# Public access url
STATIC_HOST=https://pub-a1b2c3d4e5f6.r2.dev

Когда я runserver с DEBUG=False и перехожу к localhost:8000/admin он не загружает CSS должным образом, и статические запросы файлов все 4xx и не используют предоставленные STATIC_URL но AWS_S3_ENDPOINT_URL.

Когда я runserver использую DEBUG=True, он правильно загружает статические файлы из предоставленных STATIC_URL настроек.

Я хочу загружать статические файлы из R2 bucket в production / DEBUG=False и использовать локальные статические файлы с DEBUG=True.

Пожалуйста, помогите мне, что я делаю не так?

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