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
)
