Hello, I have recently launched my app into production, and am now getting 500 errors when I attempt to access any of the /admin pages from either the main site (mysite.com/admin), or any of the two apps inside my project (mysite.com/recipes/admin or mysite.com/tracker/admin). My admin pages were working fine in development, then I had to do a whole bunch of stuff to get my static files working correctly -- now static works fine in prod, but admin doesn't. Neither static nor admin works in dev.
Here is the traceback from when I hit alpha:8080/admin: (my dev machine running runserver) Environment: Request Method: GET Request URL: http://alpha:8080/admin/ Django Version: 1.3.1 Python Version: 2.6.4 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'recipes', 'tracker', 'django.contrib.admin'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware') Template error: In template /usr/local/lib/python2.6/dist-packages/django/contrib/ admin/templates/admin/base.html, error at line 31 Caught ViewDoesNotExist while rendering: Could not import michellecalabresi_info.views.django.views.static. Error was: No module named django.views.static 21 : <!-- Header --> 22 : <div id="header"> 23 : <div id="branding"> 24 : {% block branding %}{% endblock %} 25 : </div> 26 : {% if user.is_active and user.is_staff %} 27 : <div id="user-tools"> 28 : {% trans 'Welcome,' %} 29 : <strong>{% filter force_escape %}{% firstof user.first_name user.username %}{% endfilter %}</strong>. 30 : {% block userlinks %} 31 : {% url 'django-admindocs-docroot' as docsroot %} 32 : {% if docsroot %} 33 : <a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / 34 : {% endif %} 35 : {% url 'admin:password_change' as password_change_url %} 36 : {% if password_change_url %} 37 : <a href="{{ password_change_url }}"> 38 : {% else %} 39 : <a href="{{ root_path }}password_change/"> 40 : {% endif %} 41 : {% trans 'Change password' %}</a> / Traceback: File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/ base.py" in get_response 111. response = callback(request, *callback_args, **callback_kwargs) File "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/ sites.py" in wrapper 214. return self.admin_view(view, cacheable)(*args, **kwargs) File "/usr/local/lib/python2.6/dist-packages/django/utils/ decorators.py" in _wrapped_view 93. response = view_func(request, *args, **kwargs) File "/usr/local/lib/python2.6/dist-packages/django/views/decorators/ cache.py" in _wrapped_view_func 79. response = view_func(request, *args, **kwargs) File "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/ sites.py" in inner 197. return view(request, *args, **kwargs) File "/usr/local/lib/python2.6/dist-packages/django/views/decorators/ cache.py" in _wrapped_view_func 79. response = view_func(request, *args, **kwargs) File "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/ sites.py" in index 382. context_instance=context_instance File "/usr/local/lib/python2.6/dist-packages/django/shortcuts/ __init__.py" in render_to_response 20. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) File "/usr/local/lib/python2.6/dist-packages/django/template/ loader.py" in render_to_string 188. return t.render(context_instance) File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" in render 123. return self._render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" in _render 117. return self.nodelist.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/usr/local/lib/python2.6/dist-packages/django/template/debug.py" in render_node 73. result = node.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/ loader_tags.py" in render 127. return compiled_parent._render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" in _render 117. return self.nodelist.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/usr/local/lib/python2.6/dist-packages/django/template/debug.py" in render_node 73. result = node.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/ loader_tags.py" in render 127. return compiled_parent._render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" in _render 117. return self.nodelist.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/usr/local/lib/python2.6/dist-packages/django/template/debug.py" in render_node 73. result = node.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/ defaulttags.py" in render 311. return self.nodelist_true.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/usr/local/lib/python2.6/dist-packages/django/template/debug.py" in render_node 73. result = node.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/ defaulttags.py" in render 311. return self.nodelist_true.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/usr/local/lib/python2.6/dist-packages/django/template/debug.py" in render_node 73. result = node.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/ loader_tags.py" in render 64. result = block.nodelist.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" in render 744. bits.append(self.render_node(node, context)) File "/usr/local/lib/python2.6/dist-packages/django/template/debug.py" in render_node 73. result = node.render(context) File "/usr/local/lib/python2.6/dist-packages/django/template/ defaulttags.py" in render 437. url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app) File "/usr/local/lib/python2.6/dist-packages/django/core/ urlresolvers.py" in reverse 391. *args, **kwargs))) File "/usr/local/lib/python2.6/dist-packages/django/core/ urlresolvers.py" in reverse 312. possibilities = self.reverse_dict.getlist(lookup_view) File "/usr/local/lib/python2.6/dist-packages/django/core/ urlresolvers.py" in _get_reverse_dict 229. self._populate() File "/usr/local/lib/python2.6/dist-packages/django/core/ urlresolvers.py" in _populate 220. lookups.appendlist(pattern.callback, (bits, p_pattern)) File "/usr/local/lib/python2.6/dist-packages/django/core/ urlresolvers.py" in _get_callback 167. raise ViewDoesNotExist("Could not import %s. Error was: %s" % (mod_name, str(e))) Exception Type: TemplateSyntaxError at /admin/ Exception Value: Caught ViewDoesNotExist while rendering: Could not import mysite.views.django.views.static. Error was: No module named django.views.static Here is my settings.py: from os import path DEBUG = True # SB TRUE for Development TEMPLATE_DEBUG = DEBUG # SB DEBUG for Development ADMINS = ( # ('tempomental', 'tempomen...@example.com'), ) MANAGERS = ADMINS DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 'NAME': '/home/user/mycode/myapp/myapp', # Or path to database file if using sqlite3. 'USER': '', # Not used with sqlite3. 'PASSWORD': '', # Not used with sqlite3. 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '', # Set to empty string for default. Not used with sqlite3. } } TIME_ZONE = 'America/Chicago' LANGUAGE_CODE = 'en-us' SITE_ID = 1 USE_I18N = True USE_L10N = True MEDIA_ROOT = '' MEDIA_URL = '' STATIC_ROOT = path.join(path.abspath(path.dirname(__file__)), 'static') STATIC_URL = 'http://mysite.com/static/' ADMIN_MEDIA_PREFIX = '/static/admin/' STATICFILES_DIRS = ( "/home/user/mycode/mysite/static-dev", ) STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', ) SECRET_KEY = 'blahbalhblbhabhla' TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', ) MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', ) ROOT_URLCONF = 'myapp.urls' TEMPLATE_DIRS = ( "/home/user/mycode/myapp/templates", ) INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'recipes', 'tracker', 'django.contrib.admin', ) LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'mail_admins': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler' } }, 'loggers': { 'django.request': { 'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True, }, } } Here is my tracker/admin.py: from tracker.models import Attendee from tracker.models import Party from django.contrib import admin admin.site.register(Attendee) admin.site.register(Party) Here is my tracker/urls.py: from django.conf.urls.defaults import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('tracker.views', (r'^$', 'index'), (r'^party/(?P<party_id>\d+)/$', 'partyDetail'), ) urlpatterns += patterns('', url(r'^admin/', include(admin.site.urls)), ) And finally, here is my /urls.py: from django.conf import settings from django.conf.urls.defaults import patterns, include, url from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # login page (r'^login/$', 'django.contrib.auth.views.login'), # logout page # (r'^logout/$', logout_page), # recipes section (r'^recipes/', include('recipes.urls')), # site admin url(r'^admin/', include(admin.site.urls)), # party tracker section (r'^tracker/', include('tracker.urls')), ) # Pages for the main site urlpatterns += patterns('myapp.views', # Host a party (r'^hostparty/', 'host_party'), # Thank you for contacting me (r'^contact/thankyou/', 'thankyou'), # Contact me (r'^contact/', 'contact'), # About me (r'^aboutme/', 'aboutme'), # home page (r'^$', 'main_page'), (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}), ) ------------------ Thanks in advance for your help. TM -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.