dancerfly / django-brambling

Event website manager, specifically designed for dance weekends or other events with multiple simultaneous tracks of classes.
BSD 3-Clause "New" or "Revised" License
11 stars 3 forks source link

Heroku fixes #903

Closed melinath closed 6 years ago

melinath commented 6 years ago

needed to set up support for s3 storage of static and media files, configured by env vars

please confirm settings are in place before merging - should all be there but just in case! :-)

melinath commented 6 years ago

Media file paths have been updated in preparation for this, since it will split static & media files by location within the bucket.

harrislapiroff commented 6 years ago

I'm testing this with our real AWS creds locally and getting UncompressableFileError. Have you encountered this @melinath?


Environment:

Request Method: GET
Request URL: http://localhost:8000/dance/convergence/order/shop/

Django Version: 1.8.11
Python Version: 2.7.15
Installed Applications:
('brambling',
 'grappelli',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.humanize',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'zenaida',
 'zenaida.contrib.hints',
 'floppyforms',
 'django_filters',
 'daguerre',
 'compressor',
 'rest_framework',
 'bootstrap',
 'debug_toolbar.apps.DebugToolbarConfig',
 'template_timings_panel',
 'talkback')
Installed Middleware:
(u'debug_toolbar.middleware.DebugToolbarMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'talkback.middleware.TalkbackMiddleware')

Template error:
In template /Users/harrislapiroff/Projects/Personal/django-brambling/brambling/templates/brambling/__base.html, error at line 11
   'https://dancerfly.s3.amazonaws.com/static/zenaida/lib/chosen/chosen.min.css?AWSAccessKeyId=AKIAJNYPQDFLUU7ULAAA&Expires=1527525237&Signature=HSnQb7VfvObx1trlPZn3%2F5oO%2Bto%3D' isn't accessible via COMPRESS_URL ('https://s3.amazonaws.com/dancerfly/static/') and can't be compressed

   1 : {% extends 'zenaida/__base.html' %}

   2 : 

   3 : {% load staticfiles compress %}

   4 : 

   5 : {% block title %}Dancerfly{% endblock %}

   6 : 

   7 : {% block body-classes %}dancerfly brambling {{ block.super }}{% endblock %}

   8 : 

   9 : {% block stylesheets %}

   10 :     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">

   11 :      {% compress css %} 

   12 :         <link rel="stylesheet" type="text/css" href="{% static "zenaida/lib/chosen/chosen.min.css" %}" />

   13 :         <link rel="stylesheet" type="text/css" href="{% static "brambling/lib/bootstrap-datepicker/datepicker3.css" %}" />

   14 :     {% endcompress %}

   15 :     {% compress css %}

   16 :         {# must be separate to keep @fontface declarations on top #}

   17 :         <link rel="stylesheet" type="text/sass" href="{% static "brambling/sass/styles.sass" %}" />

   18 :     {% endcompress %}

   19 : {% endblock stylesheets %}

   20 : 

   21 : {% block meta %}

Traceback:
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  164.                 response = response.render()
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/response.py" in render
  158.             self.content = self.rendered_content
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/response.py" in rendered_content
  135.         content = template.render(context, self._request)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/backends/django.py" in render
  74.         return self.template.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/template_timings_panel/panels/TemplateTimings.py" in timing_hook
  137.         result = func(self, *args, **kwargs)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/base.py" in render
  210.                     return self._render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  96.     return self.nodelist.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/base.py" in render
  905.                 bit = self.render_node(node, context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  135.         return compiled_parent._render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  96.     return self.nodelist.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/base.py" in render
  905.                 bit = self.render_node(node, context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  135.         return compiled_parent._render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  96.     return self.nodelist.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/base.py" in render
  905.                 bit = self.render_node(node, context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  135.         return compiled_parent._render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  96.     return self.nodelist.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/base.py" in render
  905.                 bit = self.render_node(node, context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  135.         return compiled_parent._render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
  96.     return self.nodelist.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/base.py" in render
  905.                 bit = self.render_node(node, context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/template_timings_panel/panels/TemplateTimings.py" in timing_hook
  137.         result = func(self, *args, **kwargs)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/loader_tags.py" in render
  65.                 result = block.nodelist.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/base.py" in render
  905.                 bit = self.render_node(node, context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/django/template/debug.py" in render_node
  79.             return node.render(context)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/compressor/templatetags/compress.py" in render
  149.         return self.render_compressed(context, self.kind, self.mode, forced=forced)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/compressor/templatetags/compress.py" in render_compressed
  108.             rendered_output = self.render_output(compressor, mode, forced=forced)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/compressor/templatetags/compress.py" in render_output
  121.         return compressor.output(mode, forced=forced)
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/compressor/css.py" in output
  46.             self.split_contents()
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/compressor/css.py" in split_contents
  22.                 basename = self.get_basename(elem_attribs['href'])
File "/Users/harrislapiroff/.local/share/virtualenvs/django-brambling-NpFHlxMw/lib/python2.7/site-packages/compressor/base.py" in get_basename
  89.                                           "compressed" % (url, base_url))

Exception Type: UncompressableFileError at /dance/convergence/order/shop/
Exception Value: 'https://dancerfly.s3.amazonaws.com/static/zenaida/lib/chosen/chosen.min.css?AWSAccessKeyId=AKIAJNYPQDFLUU7ULAAA&Expires=1527525237&Signature=HSnQb7VfvObx1trlPZn3%2F5oO%2Bto%3D' isn't accessible via COMPRESS_URL ('https://s3.amazonaws.com/dancerfly/static/') and can't be compressed
melinath commented 6 years ago

@harrislapiroff I'm not getting that error... what are you doing exactly?

melinath commented 6 years ago

oh loading a page :-(

melinath commented 6 years ago

@harrislapiroff ready for re-review