Есть такой кусок кастомного middleware
class ResetEnergy(MiddlewareMixin):
def __call__(self, request):
uid = request.user.id
# КУСОК НИЖЕ ОТВЕЧАЕТ ЗА ВОССТАНОВЛЕНИЕ ЭНЕРГИИ (1 мин = 1 ед. энергии)
currentDate = time.time() # get_unix time
#currentDate = abs(currentDate)
get_energy = UserAttribute.objects.filter(user_id=uid)
for i in get_energy:
dateDiff = currentDate - i.energy_time.timestamp()
newEnergy = i.energy
max_energy = i.energy_max
energ= i.energy
if (dateDiff < 6000 and newEnergy < i.energy_max):
while (dateDiff > 60):
newEnergy+=1;
if (newEnergy >=max_energy):
break
dateDiff = dateDiff - 60;
else:
newEnergy = max_energy
if (newEnergy !=energ):
UserAttribute.objects.filter(user_id=uid).update(energy=newEnergy,energy_time=datetime.datetime.now())
response = self.get_response(request)
return response
Его я вызываю в settings.py
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'uinfo.middleware.ResetEnergy', <-- this is my custom middletwar
#'uinfo.middleware.MainProcess',
]
И вопрос, как исключить работу этой функции в админке?
За pep8 и двор.. (знаю,знаю, все плохо), но больше всего меня интересует суть вопроса.
Всем спасибо