这是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上其他用户的数据显示默认browser 403页:
22/Jan/2019 08:39:14 "GET /obj/12 HTTP/1.1“403 0
但是第二个页面运行良好,显示了正确的页面(当尝试访问/obj/768中一些不存在的数据时)。我怎么能解决这个问题?
调试模式已关闭。我的Django版本是2.0.6
更新.
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!永远不会被打印出来。
发布于 2019-01-22 08:54:06
handler403应该指向一个视图
试着做这样的事情:
from general.views.handler403 import handler403
handler403 = handler403https://stackoverflow.com/questions/54304321
复制相似问题