500 Ошибка сервера в Heroku после изменения настроек Django - журнал ошибок отсутствует

Итак, я пытался добавить несколько функций в мои настройки Django, следуя этой статье здесь:

http://bookofstranger.com/django-compressor-with-s3-and-cloudfront/

Я уже успешно настроил свой сайт с помощью AWS и Cloudfront, обслуживающих статические и мультимедийные файлы. Я просто пытался добавить django-compressor сжать файлы и ускорить работу сайта.

Я понятия не имею, в чем проблема, поскольку я просмотрел логи heroku, и все, что я могу видеть, это то, что был запрос GET с ошибкой 500 серверов - больше ничего.

На моем локальном сервере --- сайт загружается нормально после того, как я запустил collectstatic. есть ошибка, которую я вижу в строке cmd:

Traceback (most recent call last):
  File "C:\Users\crstu\AppData\Local\Programs\Python\Python36-32\lib\socketserver.py", line 639, in process_request_thread
    self.finish_request(request, client_address)
  File "C:\Users\crstu\AppData\Local\Programs\Python\Python36-32\lib\socketserver.py", line 361, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "C:\Users\crstu\AppData\Local\Programs\Python\Python36-32\lib\socketserver.py", line 696, in __init__
    self.handle()
  File "C:\Users\crstu\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\core\servers\basehttp.py", line 154, in handle
    handler.run(self.server.get_app())
  File "C:\Users\crstu\AppData\Local\Programs\Python\Python36-32\lib\wsgiref\handlers.py", line 144, in run
    self.close()
  File "C:\Users\crstu\AppData\Local\Programs\Python\Python36-32\lib\wsgiref\simple_server.py", line 35, in close
    self.status.split(' ',1)[0], self.bytes_sent
AttributeError: 'NoneType' object has no attribute 'split'

Я публикую свой файл настроек ниже (по крайней мере, соответствующие части, которые я добавил или изменил):

   #This will make sure that the file URL does not have unnecessary parameters like your access key.
AWS_ACCESS_KEY_ID = config('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = config('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = config('AWS_STORAGE_BUCKET_NAME')
AWS_S3_CUSTOM_DOMAIN = 'XXXXXXXXXXXX.cloudfront.net'
AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'static'
AWS_QUERYSTRING_AUTH = False
AWS_DEFAULT_ACL = "public-read" # to make sure all your files gives read only access to the files
AWS_HEADERS = {  # see http://developer.yahoo.com/performance/rules.html#expires  
        'Expires': 'Thu, 31 Dec 2099 20:00:00 GMT',
        'Cache-Control': 'max-age=94608000',
    }

CLOUDFRONT_DOMAIN = 'XXXXXXXXXXXXXXXXXXX'
CLOUDFRONT_ID = 'YYYYYYYYYYYYYYYY'

AWS_IS_GZIPPED = True
GZIP_CONTENT_TYPES = (
   'text/css',
   'application/javascript',
   'application/x-javascript',
   'text/javascript',
   'application/vnd.ms-fontobject',
   'application/font-sfnt',
   'application/font-woff',
)

STATIC_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)

#set S3 as the place to store your files.
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
COMPRESS_STORAGE = STATICFILES_STORAGE
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

# Static files (CSS, JavaScript, Images)

ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'

#media storage settings
MEDIA_URL = 'https://my_bucket.s3.amazonaws.com/media/'
STATIC_URL = 'https://my_bucket.s3.amazonaws.com/static/'

COMPRESS_URL = STATIC_URL
COMPRESS_ROOT = STATIC_ROOT

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sitemaps',
    # 'debug_toolbar',
    'django.contrib.sites',
    'versatileimagefield',
    'disqus',
    'accounts',
    'compressor',
    'deals',
    'social_django',
    'newsletters',
    'blog',
    'ckeditor',
    'storages',
    'ckeditor_uploader',
    'crispy_forms',
    'widget_tweaks',
]


MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'dealmazing.middleware.RemoveWWWMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'debug_toolbar.middleware.DebugToolbarMiddleware',
    'social_django.middleware.SocialAuthExceptionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'htmlmin.middleware.HtmlMinifyMiddleware',
    'htmlmin.middleware.MarkRequestMiddleware',
]

ROOT_URLCONF = 'dealmazing.urls'

HTML_MINIFY = True

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'social_django.context_processors.backends',  
                'social_django.context_processors.login_redirect', 
                'blog.context_processors.posts',
                'blog.context_processors.categories',
                'deals.context_processors.categories'
            ],
            'libraries':{
            'dealmazing_extras': 'templatetags.dealmazing_extras',
        },
    },
    },
]

И я сжимаю файлы, как это с использованием руководящих принципов компрессора Django:

{% load compress%} {% compress css%} CSS ЗДЕСЬ {% endcompress %}

То же самое для файлов JS

Я действительно не знаю, как диагностировать эту вещь - кто-нибудь видит какие-либо проблемы, которые у меня могут быть здесь?

0 ответов

Другие вопросы по тегам