views.py
604 Bytes
from django.shortcuts import render
class HitCountViewMixin(object):
def get_object(self, *args, **kwargs):
try:
super(HitCountViewMixin, self).get_object(*args, **kwargs)
except AttributeError:
raise NotImplementedError
def dispatch(self, request, *args, **kwargs):
response = super(HitCountViewMixin, self).dispatch(request,
*args, **kwargs)
if 200 <= response.status_code < 300:
obj = self.get_object()
if obj: obj.hit(request)
return response