title: Django 404 Page not loading
body: <p>I have made a simple django application for creating my custom 404 page using django 1.10.
  I have created 404.html and 500.html in my page,According to Django Documentation.Then I tried two methods to render the 404 Error message.</p>
  
  <p>1)I made simple 404.html and 500.html page and did nothing then.
  I was successful in getting the 500 page.
  Correct url to the page was:localhost:8000/book
  And I supplied localhost:8000/book/fgfg
  And there was no entry according to the input.But it was sending me to the 500 page but not to the 404 page as I expected.
  This is  Internal App's Urls.py:</p>
  
  <pre><code>from django.conf.urls import url
  from django.conf.urls import (
  handler400, handler403, handler404, handler500
   )
  from bookform import views
  from . import views
  urlpatterns = [
  url(r'^$', views.index, name='index'),]
  </code></pre>
  
  <p>And this is External Project's urls.py:</p>
  
  <pre><code> from django.conf.urls import url,include,handler404,handler500
   from django.contrib import admin
  
  
   urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^book/', include('bookform.urls')),
  ]
  # handler404='bookform.views.handler404'
  # handler500='bookform.views.handler500'
  </code></pre>
  
  <p>I have commented the handler404 and 500 here which I uncommented in 2nd method.
  In first method I did nothing except adding the 404 and 500 html files and Django tried to find out the url and resulted in 500 error but I was expecting it to be 404 error.
  It showed this error when setting Debug into true:
      Using the URLconf defined in formdj.urls, Django tried these URL patterns,    in this order:
      ^admin/
      ^book/ ^$ [name='index']
      The current URL, book/dfsdfsd, didn't match any of these.</p>
  
  <p>And If I set DEBUG=FALSE It resulted into 500 error.</p>
  
  <p>2)Now in method 2:
  I updated the views.py file and Uncommented the handler404 and handler505 line from urls.py.</p>
  
  <p>This is views.py:</p>
  
  <pre><code>  from django.shortcuts import render,render_to_response
    from django.shortcuts import HttpResponse
    from django.forms import modelformset_factory
    from forms import BookForm
    from bookform.models import Book
    from django.template import RequestContext
    def index(request):
  
       BookFormSet=modelformset_factory(Book,fields= ('name','authors'),extra=10,can_delete=True)
      formset=BookFormSet()
      return render(request,'bookform/index.html',{'formset':formset})
  
    def handler404(request):
      response = render(request,'bookform/404.html', {'status':400},
                              )
      response.status_code = 404
      print('I am getting called')
      return response
   def handler500(request):
      response = render(request,'bookform/500.html', {'status':400},
                                )
      print('I am getting called 500')
      response.status_code = 500
      return response
  </code></pre>
  
  <p>Again I was getting the 500 Page.I tried to delete the 500 and Debug=False then It resulted into 500.Then I turned debug on,It was saying the error was a 404 error.
  So whatever I did,I got a 500.html page called.
  Now I am confused how to load 404.html page correctly.</p>