django中的ratelimit给出错误键'rl:xxxx'未找到

时间:2014-11-18 18:43:37

标签: python django rate-limiting ratelimit

我正在尝试在我的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 /

的ValueError      

Key'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的新手

1 个答案:

答案 0 :(得分:0)

似乎ratelimit需要使用Django Cache Framework来存储有关IP和请求的信息。

您需要设置某种缓存,最好使用memcached来使用它。希望有所帮助!