我有一个视图,并使用 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)