tags:

views:

1385

answers:

2

I am getting ready to deploy my first Django application and am hitting a bit of a roadblock. My base template relies on me passing in the session object so that it can read out the currently logged in user's name. This isn't a problem when I control the code that is calling a template.

However, as part of getting this app ready to be deployed, I need to create a 404.html page. I extended my base template just like I've done with my other pages, but I don't see a way to pass in the session object so that I can utilize it. Is there a way to have Django call a custom method to render your 404 rather than just rendering your 404.html for you?

+4  A: 

You need to override the default view handler for the 404 error. Here is the documentation on how to create your own custom 404 view function:

http://docs.djangoproject.com/en/dev/topics/http/views/#customizing-error-views

AlbertoPL
Just a note for other people: You need to define `handler404` in the urls.py in the root of your project, not in one of your apps.
Chris Lieb
+2  A: 

Define your own 404 handler. See Django URLs, specifically the part about handler404.

Alexander Ljungberg