Вот содержимое MyProj / urls.py :
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('general.urls')), # Main app
]
handler403 = 'general.views.handler403'
handler404 = 'general.views.handler403'
Как видите, оба обработчика указывают на одно и то же представление, а первое, которое мне больше всего нужно, не работает! Например, данные другого пользователя на /obj/12
показывают страницу браузера 403 по умолчанию:
[22 / Jan / 2019 08:39:14] "GET / obj / 12 HTTP / 1.1" 403 0
Но второй работает хорошо и показывает правильную страницу (при попытке доступа к некоторым несуществующим данным в /obj/768
). Почему и как я могу это решить?
Режим отладки выключен. Моя версия Django - 2.0.6
Update.
Содержимое файла handler403.py :
from django.shortcuts import render_to_response
def handler403(request, *args, **argv):
print('Handler 403 was called!')
u = request.user
params = {
'user': u,
}
response = render_to_response('403.html', params)
response.status_code = 403
return response
Строка Handler 403 was called!
никогда не печатается, когда я пытаюсь получить эту страницу.