testing 404 500 error pages in django development envirnoment with django-cms
May
18
1
0
It's nice to be able to test your 404.html and 500.html templates in your development environment before you push to production.
You could use direct_to_template, but it would be better to use the default Django views that the errors actually use. These are "django.views.defaults.server_error" and "django.views.defaults.page_not_found". All you need to do is to add these to your urlpatterns in a conditonal statement for local development. *** note the += ***
# urls.py urlpatterns = patterns('', ... ) if settings.LOCAL_DEV: urlpatterns += patterns('', (r'^404/$', 'django.views.defaults.page_not_found'), (r'^500/$', 'django.views.defaults.server_error'), (r'^media/(?P.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT} ), )
If you're using Django-CMS this is not going to work because the cms page middleware will call the 404 error before it gets to the LOCAL_DEV urls. This is easily fixed by moving the cms url include to after the LOCAL_DEV urls.
urlpatterns += patterns('', url(r'^', include('cms.urls')), # put this near the end )