gpt4 book ai didi

python - HttpResponseForbidden 和 handler403

转载 作者:可可西里 更新时间:2023-11-01 16:28:25 27 4
gpt4 key购买 nike

目前使用 Django,我创建了一小段代码来向用户显示 404/500/403 Http 响应的自定义错误页面。
urls.py

from apps.me_report.views import ClientErrorView
from django.views.defaults import page_not_found, server_error, permission_denied
handler404 = ClientErrorView.as_view(default=page_not_found)
handler403 = ClientErrorView.as_view(default=permission_denied)
handler500 = ClientErrorView.as_view(default=server_error)

当有人在工作人员中时,默认方法被调用,这很高兴看到实际错误。但是当我返回这样的东西时:
return http.HttpResponseForbidden('<h1>Forbidden</h1>')
似乎 handler403 在这种情况下不起作用。这是为什么 ?我如何才能将此响应视为其他 403 响应?

最佳答案

这些处理程序仅在出现异常时调用,而不是简单地返回具有不同 HTTP 状态的响应。您需要提高 PermissionDenied,而不是返回 HttpResponseForbidden:

from django.core import exceptions

raise exceptions.PermissionDenied

关于python - HttpResponseForbidden 和 handler403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25726558/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com