如何在 django 中为我的链接设置“只能访问该链接一次且仅一次”的权限?

问题描述 投票:0回答:1

我正在使用 HTML CSS 和 Django 创建一个游戏 Web 应用程序。到目前为止,还没有涉及 JS,因为我不太了解 JS,无法在我的应用程序中实现它。我也不是网络开发人员。我只知道Python和基本的网页设计。现在我的问题是:我在游戏的不同级别设置了各种任务。用户可以访问这些任务来玩它们。但在玩过一次之后,就不应该允许他们再次访问这些任务。我曾想过在访问一次后禁用该链接。或者,可能会锁定链接并使其在访问一次后无法访问,并且只能通过管理面板通过切换按钮或其他方式将其解锁。这些是我的想法,但不知道如何编码。 我怎样才能在 django 中实现这个?我也愿意接受 JS 前端解决方案。这是 django 权限的情况还是其他原因?.

an image of the the levels dashboard

我尝试过使用 :visited 伪类来定位链接,但不是我想要的。

javascript django django-models django-templates web-development-server
1个回答
0
投票

如果用户没有指定的权限,您可以使用权限系统从 URL 重定向用户。就您而言,实现此目的的最佳方法是在 Django 视图之前使用装饰器来过滤谁可以访问特定视图:

django 文档中的示例:

 @user_passes_test(email_check, login_url="/login/")
 def my_view(request):
     # Your view logic here

如果您找到一种方法在用户模型中存储访问过的级别,您可以重用此信息来检查用户是否应该能够访问此网址/视图。

我是Stack Overflow的新手,所以如果我的回答有任何错误,请随时纠正我。我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.