我在一个允许用户添加文章的视图上限制帖子请求。 我目前正在使用这样的装饰器:
def throttle_post(func, duration=60):
def inner(request, *args, **kwargs):
if request.method == 'POST':
remote_addr = request.META.get('HTTP_X_FORWARDED_FOR') or \
request.META.get('REMOTE_ADDR')
key = '%s.%s' % (remote_addr, request.get_full_path())
if cache.get(key):
messages.add_message(
request, messages.ERROR, 'you cant add articles so fast, try waiting another {} seconds.format(remaining))
return redirect(request.META.get('HTTP_REFERER'))
else:
cache.set(key, 1, duration)
return func(request, *args, **kwargs)
return inner
我想在消息中显示超时剩余的秒数。
感谢
答案 0 :(得分:1)
没有,这是不可能的,如果想要的话,您必须将值缓存到其他内存(例如redis或etc)