python - 如何允许用户在 Django 中每 30 分钟仅访问一次视图?
问题描述
我正在构建一个允许用户更新网页的应用程序,但我想限制任何用户每 20-30 分钟进行一次更新。我可以简单地将这个逻辑添加到视图定义中吗?
@login_required
def update_options(request):
...
# logic to determine how much time passed since the user visited
...
return render(request, 'main/update-options.html')
解决方案
我会做这样的事情。我没有测试它,但它应该是关闭的。基本上使用 request.session 来跟踪上次更新。
from datetime import datetime
def update_options(request):
if request.session['last_access'] is None or (datetime.now() - request.session['last_access']).days * 24 * 60 > 30:
'YOUR CODE HERE'
request.session['last_access'] = datetime.now()
else:
'TOO MANY TRIES'
return render(request, 'main/update-options.html')
推荐阅读
- python-3.x - 如何在 Python 中从 pandas DataFrame 中删除字符串的一部分
- kotlin - IntelliJ-Kotlin 运行 windows 突然不打印 println 结果
- javascript - 使用侧边栏切换时,Full Calender V.5 宽度不自动调整
- javascript - 如果语句可以在 JavaScript 中使用 IDBCursor.continue() 循环,游标内部如何?
- azure-devops - Azure DevOps 变量组密码不起作用
- pytest - 如何强制pytest返回错误码错误码
- excel - OpenURL 在 Excel VBA 中不起作用,显示“编译错误:未定义子或函数”
- powershell - 如何循环遍历从文件中读取的字符串,分别针对一组固定的字符,如果它们匹配,则在 powershell 中打印字符串
- javascript - 如何在 ios 上获得半毫秒的振动以与 expo 本机反应?
- python - 将带有 int 和字符串的混合日期转换为日期