Я разработчик » Фреймфорки

Django-pipeline converter on windows issue

Django, Python, Разработка Комментариев нет

Столкнулся со следующей проблемой. django-pipeline при обработке coffeescript (и других форматов) через manage collectstatic выдает  системную ошибку 22: неправильный синтаксис в имени файла или метки тома. После изучения настроек pipeline оказалось, что проблема не в моих настройках, а находится на стыке pipeline и библиотек python.

А именно: shlex или pipes. Конкретно метод quotes(), который из pipes в 3-м питоне переполз в shlex. Но обо всем по порядку. Открываем site-packages/pipeline/_init_.py

строка 5:

try:
from shlex import quote as quote
except ImportError:
from pipes import quote as quote

строка 44:

  compiler.compile_file(quote(infile), quote(outfile), outdated=outdated, force=force)

Это передает в обработчик пути файлов для обработки: входной и выходной, обернутые в кавычки. В кавычках и оказалась вся соль. Дело в том, что quote() оборачивает в одинарные кавычки, которые не воспринимаются стандартным обработчиком в Windows.

Если Вы только разрабатываете под windows и готовы поставить костыль и помнить о нем, то можно поставить костыль в виде собственной функции quote(), перекрывающей работу стандартной. Например, вот так:

try:
from shlex import quote as _quote
except ImportError:
from pipes import quote as _quote

if os.name == ‘nt':
def quote(arg):
return # впишите здесь свой вариант обработки
else:
quote = _quote

Другой выход — дождаться, когда починят вот этот запрос: https://github.com/cyberdelia/django-pipeline/issues/444

TDD и Django

Django, Разработка Комментариев нет

Просто оставлю здесь ссылочку на хороший туториал по TDD в DJango http://www.tdd-django-tutorial.com/

Eclipse Django Templates integration

Django, Eclipse, Модули, Разработка, Фишки Комментариев нет

Интегрировать подсветку синтаксиса шаблонов Django и сниппеты в Eclipse можно через плагин django-editor

Установить можно через добавление репозитория http://eclipse.kacprzak.org/updates

О South и syncdb в двух словах

App Engine, CloudSQL, Django, Python, Модули, Разработка, Расширения, Совместная работа, Фишки Один комментарий

Начну с определения. South — приложение Django для осуществления миграций. У меня это слово всегда вызывало больше вопросов, чем ответов поэтому, лучше расскажу что к чему.
Когда мы пишем/меняем модель нам необходимо создавать/менять структуру данных в самой базе. Если мы просто создаем модель, то с этой задачей справляется syncdb, но когда мы вносим изменения в модель syncdb оказывается беспомощной, и мы остаемся один на один со структурой данных в базе не отвечающей требованиям кода (моделей). Читать далее »

xhtml2pdf и вертикальное выравнивание в таблице

Django, Python, Библиотеки, Разработка, Фишки Комментариев нет

Так уж случилось, что для генерации PDF в приложении использую библиотеку xhtml2pdf. Библиотека позволяет сгенерировать PDF на основе HTML + CSS. Однако, поддержка CSS не совсем полная. Некоторые правила игнорируются, а комплексное применение правил иногда не приводит к нужному результату.

Например, столкнулся с ситуацией, когда "игнорировались" отступы внутри ячейки. Строка оставалась прилепленной к верхней границе. При этом, padding-top для td как бы игнорировался. Оказалось, что рендер определяет центр строки и правила ее выравнивания по вертикали несколько иначе, чем браузер. Картина исправилась, когда было выставлено свойство line-height: 75%.

Appengine на собственном сервере

App Engine, Фреймфорки Комментариев нет

TyphoonAE — позволяет запустить приложение Appengine на собственном сервере.

Django CRUD

Django, Фреймфорки Комментариев нет

Довольно специфическая реализация CRUD для Django.

AppEngine SDK Memory Leaks

App Engine, Google, Python, Инструменты, Разработка, Фреймфорки Один комментарий

Я довольно редко пишу о том, чем занимаюсь основное время, но тут не могу не поделиться наблюдениями по поводу прожорливости до памяти сервера разработки из SDK Appengine для Python. Читать далее »

REST API на Yii

Yii, Фреймфорки Комментариев нет

Неплохая статья о том, как построить REST API на Yii.
How-To: Create a REST API | Wiki | Yii Framework

jqueryahm упрощение работы с AJAX

JQuery, Библиотеки, Расширения, Фреймфорки Комментариев нет

jquery-ahm замена для $.ajax. С $.ajax, каждый запрос нуждается в callback-функции, что увеличивает количество кода. $.ahm уменьшает количество кода схематизируя действие callback-функции. Другими словами, callback-функция заменяется набором параметров. В любом случае, стоит посмотреть документацию чтобы оценить простоту идеи.