我正在尝试在我的Django网站中使用ratelimit来限制来自一个 IP 的请求数量。以下就是我的尝试。
urls.py
url(r'^test/$', 'myapp.views.test', name='myapp.views.test'),
views.py
@ratelimit(key='ip', rate='5/m')
def test(request):
return HttpResponse("Request submitted successfully.")
当我试图点击网址时 - http://:8080 / test /它给了我以下错误。
/ test /
的ValueErrorKey'rl:bbbcf11eb514e3e14d9472f112fc06b0'未找到
请求方法:GET请求URL:http://:8080 / test / Django 版本:1.6异常类型:ValueError异常值:
Key'rl:bbbcf11eb514e3e14d9472f112fc06b0'未找到
我正在尝试使用 - http://django-ratelimit.readthedocs.org/en/latest/index.html
处的文档在settings.py中设置RATELIMIT_USE_CACHE
有一些问题,但不确定在此设置中应该设置什么。我是Django的新手
答案 0 :(得分:0)
似乎ratelimit需要使用Django Cache Framework来存储有关IP和请求的信息。
您需要设置某种缓存,最好使用memcached来使用它。希望有所帮助!