Amazon S3 con Django no puede cargar todos los archivos estáticos

Estoy usando Amazon S3 para ser mi almacenamiento de archivos estáticos y multimedia. Mi proyecto Django se está ejecutando en Digital ocean ubuntu 16.04.

Después de ejecutar python manage.py collectstatic , encontré que CSS y js no funcionaban en mi sitio web. Y luego descubrí que el CSS y js no se habían cargado en el S3. Creo que esta es la razón por la que los cs y js no funcionaron porque no están allí.

solo hay una carpeta ‘estática’ en S3. introduzca la descripción de la imagen aquí

en esta carpeta estática no están los archivos estáticos de mi proyecto, sino un dmin xadmin y los archivos estáticos de otro conector

introduzca la descripción de la imagen aquí

    Arriba está la carpeta bajo estática en S3.

    Cuando reviso la url del js se ve así:

       

    Pero en mi proyecto, main.css está debajo de la carpeta estática , las imágenes están debajo de la carpeta de medios . Esto es tan raro para mí.

    Esta es mi carpeta de proyectos se ve como:

    introduzca la descripción de la imagen aquí

    Y descubrí que, después de ejecutar python manage.py collectstatic el sistema no copiaba la estática y los medios en absoluto.

    Aquí está la parte principal de mi settings.py:

     import os import sys BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, os.path.join(BASE_DIR, 'apps')) sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps')) ROOT_URLCONF = 'myproject.urls' STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static/') MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') AWS_ACCESS_KEY_ID = 'myproject' AWS_SECRET_ACCESS_KEY = 'myproject' AWS_STORAGE_BUCKET_NAME = 'myproject' AWS_S3_FILE_OVERWRITE = False AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME # the sub-directories of media and static files STATICFILES_LOCATION = 'static' MEDIAFILES_LOCATION = 'media' # a custom storage file, so we can easily put static and media in one bucket STATICFILES_STORAGE = 'myproject.custom_storages.StaticStorage' DEFAULT_FILE_STORAGE = 'myproject.custom_storages.MediaStorage' # the regular Django file settings but with the custom S3 URLs STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, STATICFILES_LOCATION) MEDIA_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, MEDIAFILES_LOCATION) 

    También creé un archivo llamado custom_storages.py:

     from django.conf import settings from storages.backends.s3boto3 import S3Boto3Storage class StaticStorage(S3Boto3Storage): location = settings.STATICFILES_LOCATION class MediaStorage(S3Boto3Storage): location = settings.MEDIAFILES_LOCATION 

    Seguí este tutorial https://blog.bitlabstudio.com/ultra-short-guide-to-django-and-amazon-s3-2c5aae805ce4

    Este tema es realmente muy complicado para mí. Cualquier amigo puede ayudar? Este tema me pasa 2 días para resolverlo.