小编Abh*_*ash的帖子

如何使用 django-cacheops 使视图缓存失效

我有一个视图,并使用 django-cacheops (https://github.com/Suor/django-cacheops)将其缓存在views.py中:

@cached_view(timeout=60*15)
@csrf_exempt
def order(request, usr):
    ...
Run Code Online (Sandbox Code Playgroud)

urls.py 中订单视图的正则表达式:

url(r'^order/(?P<usr>\D+)$', views.order, name='ord')
# Example Url: http://127.0.0.1:8000/order/demo (demo is the user name)
Run Code Online (Sandbox Code Playgroud)

order我想使以下视图中的缓存视图无效:

@login_required 
def available(request, pk, avail):
    pk = int(pk)
    avail = strtobool(avail)
    if avail:
        Product.objects.filter(id = pk).update(available = True)
    else:
        Product.objects.filter(id = pk).update(available = False)
    return HttpResponseRedirect(reverse_lazy('yc')) 
Run Code Online (Sandbox Code Playgroud)

根据文档,我们可以通过执行以下操作来实现这一目标:

@login_required 
def available(request, pk, avail):
    pk = int(pk)
    avail = strtobool(avail)
    if avail:
        Product.objects.filter(id = pk).update(available = True)
        order.invalidate("http://127.0.0.1:8000/order/demo", "demo")
        #it's a dummy url I've handled …
Run Code Online (Sandbox Code Playgroud)

python django caching django-views

5
推荐指数
1
解决办法
1006
查看次数

标签 统计

caching ×1

django ×1

django-views ×1

python ×1