Посты с тэгом pycow


Моя борьба с javascript ч.3.

Вроде бы все готово. Для компиляции осталось пару строк функции компрессора, которая является просто враппером для pycow.

pycow_compressor/__init__.py

from django.conf import settings
from pycow.pycow import translate_string

def pycow(*args, **kwargs):
    try:
        return translate_string(args[0], warnings = False)
    except:
        if settings.DEBUG:
            raise
        else:
            return ""

Итого, для прозрачной компиляции python->javascript из шаблонов нужно:

  • Использовать python2.6
  • Установить django-compressor
  • Задать в settings.py такую настройку(там еще добавлена настройка для clevercss)
  • Скачать и установить в проект собственно компилятор


Моя борьба с javascript ч.2.

Ок. Компилятор выбран. Однако, это только половина задачи. Вторая половина задачи выходит из того факта, что, если я хочу подключать .py файлы из шаблона — мне нужно кеширование и компиляция кода в зону static. Я совсем не хочу, чтобы при каждом рендере шаблона вызывался довольно тяжелый компилятор. Кроме того, для установки сервера в productive режим, у меня на руках должен оказаться работающий набор скомпилированных скриптов. А еще, я хочу не думать о том, что библиотеки могут загружаться на страницу позже кода. Сопроводительные задачи должен решать робот. Для этой цели собственно и был написан django-compressor.

Вообще, django-compressor довольно спорный tool. Спорный с точки зрения необходимости — гораздо правильнее строить приложение так, чтобы задачи которые решает компрессор, вообще не вставали. Гораздо правильнее использовать