@aeHarkonnen

Почему Django tag для базового шаблона выводит +0 ?

У меня есть счетчик новых комментариев в редисе, создал simple_tag выводящий количество новых комментариев в шапку base.html:
@register.simple_tag()
def get_new_comm(id):
    cacheDB = redis.StrictRedis()
    temp = cacheDB.get("comments:%s" % id)
    if temp:
        return '<font color="red" >+' + temp + '</font>'
    else:
        return ""

Кол-во новых отображает правильно, если в редисе не создана переменная (не разу не было новых комментариев) то не выводит ничего, как и должен. Но если переменная равна 0, то пишет +0 новых комментариев. Даже если ставлю
if temp!= 0 :
Что с этим можно сделать?

И дополнительный вопрос, я в каждой функции подключаю редис
import redis
cacheDB = redis.StrictRedis()

и мне кажется, что он создает новое соединение каждый раз, на что тратиться время. Как это сделать правильней?
  • Вопрос задан
  • 2329 просмотров
Решения вопроса 1
pavel_salauyou
@pavel_salauyou
Symfony2 & Angular разработчик
Сделайте так, преобразуйте значение к целому числу

temp = int(cacheDB.get("comments:%s" % id))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы