#19295: runserver --insecure doesn't work with DEBUG False and
CachedStaticFilesStorage
-------------------------------------+--------------------
     Reporter:  Apreche              |      Owner:  nobody
         Type:  Bug                  |     Status:  new
    Component:  contrib.staticfiles  |    Version:  1.4
     Severity:  Normal               |   Keywords:
 Triage Stage:  Unreviewed           |  Has patch:  0
Easy pickings:  0                    |      UI/UX:  0
-------------------------------------+--------------------
 How to reproduce:

 Enable the CachedStaticFilesStorage in your settings and turn DEBUG off.

 {{{
 DEBUG = False

 STATICFILES_STORAGE =
 'django.contrib.staticfiles.storage.CachedStaticFilesStorage'
 }}}

 Turn on the runserver with the insecure flag

 {{{ $ python manage.py runserver --insecure }}}

 Visit your runserver in your browser, and the static files will not load.
 When using the default
 django.contrib.staticfiles.storage.StaticFilesStorage the static files
 will load.

 The reason is because of this section in contrib/staticfiles.storage.py

 {{{
 100     def url(self, name, force=false):
 101         """
 102         Returns the real URL in DEBUG mode.
 103         """
 104         if settings.DEBUG and not force:
 105             hashed_name, fragment = name, ''
 106         else:
 }}}

 When DEBUG is False, the automatic static file serving in runserver is
 disabled. But using runserver with --insecure will re-enable it. Because
 the CachedStaticFilesStorage only looks at the DEBUG flag, it will not
 work properly in this scenario. Perhaps that force parameter could be set
 to True when the --insecure flag is passed to runserver?

 Yes, this is an extremely rare and low-priority edge case, but still a
 bug.

 It's also not clear what the expected behavior is when both the --nostatic
 and --insecure flags are passed to runserver simultaneously. They sort of
 cancel each other out. Personally I feel the nostatic should take
 priority.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/19295>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to