Как исправить, что шрифты панели мониторинга не загружаются в django-oscar

#amazon-s3 #font-awesome #django-oscar

#amazon-s3 #шрифт-потрясающий #django-oscar

Вопрос:

Шрифты панели навигации панели инструментов в Django-oscar dashboard отсутствуют в рабочей среде. Однако он работает на локальном сервере localhost: 8000. Как локальные, так и производственные статические файлы размещаются в корзине AWS S3.

Я сделал общедоступным сегмент S3 и политику CORS следующим образом:-

 <?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
 

settings.py

 STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
AWS_STORAGE_BUCKET_NAME = 'bucketname'
AWS_ACCESS_KEY_ID = 'accesskeyidexample'
AWS_SECRET_ACCESS_KEY = 'secretkeyidexample'
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME


STATICFILES_LOCATION = 'static'
STATICFILES_STORAGE = 'custom_storages.StaticStorage'
STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, STATICFILES_LOCATION)

MEDIAFILES_LOCATION = 'media'
MEDIA_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, MEDIAFILES_LOCATION)
DEFAULT_FILE_STORAGE = 'custom_storages.MediaStorage'

AWS_S3_REGION_NAME = 'us-west-2'
MEDIA_ROOT = MEDIA_URL
OSCAR_MISSING_IMAGE_URL = MEDIA_URL   'image_not_found.jpg'

AWS_DEFAULT_ACL = None
OSCAR_USE_LESS = False

 

Веб-сайт Django размещен на AWS Lambda с использованием Zappa.

Я ожидаю, что шрифты будут загружены в производственную среду, как и в локальной среде.

Исходники браузера
введите описание изображения здесь

Комментарии:

1. Можете ли вы показать ту часть settings.py , в которую вы включили статические ресурсы. Кроме того, запускались ли вы collectstatic при развертывании проекта в рабочей среде?

2. Я обновил вопрос с помощью settings.py . Я запустил команду collectstatic и вижу объекты s3 staticfiles в корзине S3.

3. Где вы определили STATIC_ROOT для project?

4. STATIC_ROOT = os.path.join(BASE_DIR, ‘staticfiles’) в settings.py

5. Ну, тогда все выглядит нормально. Вы проверили, что к вашим статическим файлам можно получить доступ, введя их URI в адресной строке браузера?