Skip to content

Commit

Permalink
Fixes issue #280: don't attempt to import Django's AdminMediaHandler,…
Browse files Browse the repository at this point in the history
… and ask the user to disable LETTUCE_SERVE_ADMIN_MEDIA on Django >=1.5
  • Loading branch information
akaihola committed Aug 2, 2012
1 parent b83537c commit d4d215b
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions lettuce/django/server.py
Expand Up @@ -31,7 +31,10 @@
from django.core.servers.basehttp import ServerHandler
from django.core.servers.basehttp import WSGIRequestHandler
from django.core.servers.basehttp import WSGIServerException
from django.core.servers.basehttp import AdminMediaHandler
try:
from django.core.servers.basehttp import AdminMediaHandler
except ImportError:
AdminMediaHandler = None
try:
from django.contrib.staticfiles.handlers import StaticFilesHandler
except ImportError:
Expand Down Expand Up @@ -137,7 +140,8 @@ def should_serve_static_files(self):

def should_serve_admin_media(self):
try:
return ('django.contrib.admin' in settings.INSTALLED_APPS or
return (('django.contrib.admin' in settings.INSTALLED_APPS and
AdminMediaHandler) or
getattr(settings, 'LETTUCE_SERVE_ADMIN_MEDIA', False))
except ImportError:
return False
Expand Down Expand Up @@ -181,6 +185,11 @@ def run(self):

handler = WSGIHandler()
if self.should_serve_admin_media():
if not AdminMediaHandler:
raise LettuceServerException(
"AdminMediaHandler is not available in this version of "
"Django. Please set LETTUCE_SERVE_ADMIN_MEDIA = False "
"in your Django settings.")
admin_media_path = ''
handler = AdminMediaHandler(handler, admin_media_path)

Expand Down

0 comments on commit d4d215b

Please sign in to comment.