Opa, coisas possíveis?
Verifique seu TEMPLATE_DIRS, use sempre o caminho absoluto e não o
caminho relativo, caminho absoluto é o caminho desde a raiz do
sistema, por exemplo:
/home/user/jorge/projeto/templates # no linux
C:/projeto/templates # no windows
Verifique se está sem barra no final (não sei se pode dar problema mas
não é o padrão).
Se nada adiantar, tente fazer uma view personalizada pra ver se funciona[1].
[1] - http://docs.djangoproject.com/en/dev/topics/http/views/#customizing-error-views
pois o django sobrepõe os erros 404 e 500 sempre que o DEBUG está como
true, pois assim ele oferece stack trace entre outros detalhes do
erro.
Isso é comportamento padrão do IE, vc precisa ir nas opções dele e
tirar o "exibir paginas de erro amigáveis" ou algo do tipo. Ele
identifica o cabeçalho de erro (404, 500, etc) e exibe a sua própria
pagina. Provavelmente a parte do Django ta certa.
jean
Coloque o seu handler específico no seu arquivo urls.py como exibido
na documentação [1].
E ao invés de retornar um HttpResponseNotFound, você retorna um
HttpResponse normal, como por exemplo um render_to_response.
Exemplo teórico:
em seu urls.py:
handler404 = 'meusite.views.pagina_nao_encontrada'
em seu views.py
def pagina_nao_encontrada(request):
...
return render_to_response('404.html', dict_com_dados)
[1] - http://docs.djangoproject.com/en/dev/topics/http/views/#customizing-error-views