Заппа с Django Material Admin не может правильно загрузить иконки материалов - PullRequest
0 голосов
/ 25 февраля 2020

Я использую Django Material Admin , который работал нормально, когда мое приложение было развернуто на Elasti c Beanstalk или запущено локально. Тогда я решил переместить его без сервера с Zappa

Я следовал документации для доставки статического / медиа контента через S3

Итак, мои настройки стало:

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

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

INSTALLED_APPS = [
'material.admin',
'material.admin.default',
...
'django_s3_storage',
]
...

# The AWS region to connect to.
AWS_REGION = "us-east-2"

# The AWS access key to use.
AWS_ACCESS_KEY_ID = os.environ['S3_MEDIA_AWS_ACCESS_KEY_ID']

# The AWS secret access key to use.
AWS_SECRET_ACCESS_KEY = os.environ['S3_MEDIA_AWS_SECRET_ACCESS_KEY']

DEFAULT_FILE_STORAGE = 'django_s3_storage.storage.S3Storage'

YOUR_S3_BUCKET = "my-bucket-name

STATICFILES_STORAGE = "django_s3_storage.storage.StaticS3Storage"
AWS_S3_BUCKET_NAME_STATIC = YOUR_S3_BUCKET
AWS_S3_BUCKET_NAME = YOUR_S3_BUCKET

# These next two lines will serve the static files directly
# from the s3 bucket
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % YOUR_S3_BUCKET
STATIC_URL = "https://%s/" % AWS_S3_CUSTOM_DOMAIN

AWS_S3_FILE_OVERWRITE = True

AWS_S3_BUCKET_AUTH = False

AWS_S3_MAX_AGE_SECONDS = 60 * 60 * 24 * 365  # 1 year.

Затем я запускаю collectstati c, и все, кажется, работает нормально

Однако значки материалов не отображаются, вместо этого я вижу текст, все остальные of stati c файлы отображаются правильно.

Если я проверяю веб-сайт, я вижу, что шрифт загружается встроенным в заголовок:

    @font-face {
        font-family: 'Material Icons';
        font-style: normal;
        font-weight: 400;
        src: url('https://my-bucket-name.s3.amazonaws.com/material/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2') format('woff2');
    }

Если я проверяю URL выше Я могу скачать шрифт оттуда, никаких проблем с этим, шрифт, кажется, там. Если я go на вкладке Network на Firefox, я вижу, что загрузка шрифта есть, но я вижу только запросы с 307 ответом. Тем не менее, на Chrome я вижу тот же запрос, но он помечен как красный

General:
    Request URL: https://my-bucket-name.s3.amazonaws.com/material/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2
    Referrer Policy: no-referrer-when-downgrade
Response Headers:
Location: https://my-bucket-name.s3.us-east-2.amazonaws.com/material/fonts/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2
Content-Type: application/xml
Date: Tue, 25 Feb 2020 16:51:27 GMT
Server: AmazonS3

И, как вы можете видеть, тип контента установлен на application / xml, не уверен, что эти может быть проблема, но как я могу это исправить?

Я пошел, хотя документация django -s3-storage , но не вижу, что может быть не так или это может привести к этому

Есть идеи?

...