- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 View 的 dispatch() 中编写了这样的代码来限制对特定用户的访问:
if user.name != 'admin':
raise PermissionDenied("you don't have access")
如果引发异常,它只会显示在重定向的页面上:
403 Forbidden
是否可以让 django 显示错误页面,原因如下:
403 Forbidden
you don't have access
最佳答案
您可以使用带有 HttpResponseForbidden
的 Django 中间件来执行此操作。它看起来像这样:
from django.shortcuts import HttpResponseForbidden
class ForbiddenMiddleware(object):
"""
Don't give permissions for particular without admin
"""
def process_request(self, request):
if not request.user.is_superuser:
return HttpResponseForbidden("403 Forbidden , you don't have access")
return None
注意:上述中间件适用于所有 View 。
如果您想将检查限制在特定 View 中,请执行以下操作:
def my_view(request, ):
if not request.user.is_superuser:
return HttpResponseForbidden("403 Forbidden , you don't have access")
else:
# your render
2020 年更新
在 Django 3.0 中,您必须从 http
导入 HttpReponseForbidden
类,如下所示:
from django.http import HttpResponseForbidden
关于django:如何让 PermissionDenied 异常显示原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23557697/
我正在尝试使用 Powershell v5.1 压缩文件夹,但某些文件已被另一个进程使用,PS 无法强制或忽略它们。 Get-ChildItem "C:\folder" | Compress-Arch
我在 View 的 dispatch() 中编写了这样的代码来限制对特定用户的访问: if user.name != 'admin': raise PermissionDenied("you
在我们的项目中,我们使用了 django SessionMiddleware处理用户 session ,它工作正常。这里唯一的问题是 PermissionDenied发生异常,错误及其回溯将在控制台中
我的 android 构建在 appflow 中失败。我只是按照说明操作,不知道如何解决这个问题。 这是构建日志的最后一点: [07:25:07]: Building android... +----
每当不允许用户访问任何页面时,我正在使用 django 的 PermissionDenied 呈现 403.html。 有很多不同类型的页面,例如,产品页面,用户页面,用户联系信息,所有者信息。 我想
当使用 deno run app.ts 命令运行应用程序时,它给出了一个错误:Uncaught PermissionDenied error: Uncaught PermissionDenied: a
我想做谷歌收据验证。我通过 Marc Greenstock 设置所有内容.当我尝试验证购买时,我得到响应权限被拒绝。对我来说一切都是正确的,我不知道如何找出错误。用户在 Google Play 开发者
我们让项目在更多环境中运行,代码中的调用File.createNewFile()。 它适用于大多数环境(Win、Linux),但在 SunOS 上它调用 UnixFileSystem.createFi
我有一个具有我权限的模型,在我使用 CBV(generic.CreateView) 或 (generic.DetailView) 的 View 中,如果登录的用户具有权限,他可以访问该 View ,如
pnet's main doc page上的“以太网回显服务器”示例中使用的示例数据链路 channel 创建代码包括以下代码段: // Create a new channel, dealing w
我正在尝试测试 protected View 。未经身份验证的用户将重定向到登录页面。当我运行测试时,它引发了 django.cose.exceptions.PermissionDenied,这是正常
所以我尝试使用 AJAX 而不是 Django 处理 GET 请求,这样当出现 403 Forbidden (由 Django 给出)时,我可以使用 jQuery 显示一个简单的弹出窗口/模式,但是我
我正在尝试在 c 上为 android 创建一个 setuid 程序。我在 android 2.3-4.2 上对其进行了测试,它在除 Samsung Galaxy s4 (i9500) 之外的所有设备
我使用了 gcp 中的 AutoMl Vision api 并使用我的自定义数据集对其进行了训练。我能够预测 GCP 控制台的数据,但无法存储预测的输出。为了存储预测数据输出并使用我的本地数据进行预测
PermissionDenied:拒绝了“projects/XXXX-live/agent”上的403 IAM权限“dialogflow.sessions.detectIntent”。 创建服务时,我
我正在尝试使用Dialogflow的V2 API在Dialogflow代理中获取意图列表,但一直收到以下错误: PermissionDenied:拒绝'projects/xxxx/agent'上的40
不知道如何在这里询问要修复的问题,因为我不知道问题所在。是 1) google.api_core.exceptions.PermissionDenied: 403 请求的身份验证范围不足吗? 2) 在
当我尝试运行我的第一个 deno 程序时收到错误消息 deno run server.ts Error : Uncaught PermissionDenied: network access to "
在我们的 Tekton 管道中,我们希望使用 ArgoCD CLI 根据构建的应用程序动态执行 argocd 应用程序创建 和 argocd 应用程序同步。我们创建了一个新用户as described
我是一名优秀的程序员,十分优秀!