Все публикации с тегом “Django”

Полезные библиотеки для Django

Есть один интересный человек, Янис Ляйдель, также известный под ником jezdez. Помимо всего прочего (Pinax & Django core dev, ключевая фигура в немецком Django-коммунити), он известен коллекционированием полезных Django-приложений.

Рекомендую посмотреть список “зафоловленных” им приложений на GitHub и Bitbucket, возможно найдете что-нибудь интересное.

Внешние инструменты тестирования для Django

Кому-то хватает стандартных инструментов тестирования Django, кому-то нет. Мне стандартного мало и я сделал обзор сторонних инструментов тестирования в Django.

В обзор попали:

  • django-sane-testing
  • django-test-utils
  • django-satprep
  • nosedjango
  • tddspry
продолжить чтение

Что это было?

Часть читателей, видимо заметила некоторый период непонятного состояния блога. То 500 ISE, то работает, то таймаут, то “under maintenance”, то опять 500 ISE. Другая часть получила кучу спама о новых комментариях.

продолжить чтение

Py-проекты в Google Summer of Code 2008

Сегодня начался набор студентов для Google Summer of Code 2008. Я решил написать небольшой обзор Python-проектов, подавших идеи для GSoC. Все они хорошо известны (Django, Plone, Zope, MoinMoin, Mercurial, wxPython) и служат “визиткой” Python, так что особо расписывать про них не буду, кратко пробегусь по идеям.

продолжить чтение

Django-приложения без проектов

Малькольм Трединник написал статью про то, как в Django можно обойтись без проектов.

Во многом, положения этой статьи пересекаются с моими собственными предпочтениями: последнее время я работаю исключительно с приложениями, не с проектами. Во-первых, распространяются (в виде tarball или egg) приложения, а не проекты. Во-вторых, как я уже говорил, проекты это лишняя сущность, по факту они никому не нужны.

Особых секретов в моем подходе нет — единственно, что я создаю приложение не средствами django-admin.py, а средствами PasteScript: в этом случае уже всё готово и для “приложения без проекта”, и для пакетизации (setup.py рядом лежит).

Давайте прикинем, какие действия необходимо совершить, желая создать сайт на Django через django-admin.py:

  • создать проект django-admin.py startproject projectname
  • внутри проекта создать приложение python manage.py startapp appname
  • скопировать шаблон urls.py из проекта в приложение
  • в settings.py проекта включить приложение в INSTALLED_APPS
  • в urls.py проекта подключить urlconf из приложения

Вдобавок к этому, сложно придумать адекватные имена и проекту, и приложению, обычно либо проект получается mysite или типа того; либо воображения хватает только на проект, и приложение получается foo.foo.

C шаблоном приложения PasteScript всё сводится к:

  • создать приложение paster create -t django AppName

По-хорошему, неплохо бы еще и развертывание делать через PasteDeploy, даром что Django поддерживает WSGI. Для ситуации “один сайт — одно приложение” все делается достаточно легко, и я делал такое в тестовых целях. А вот для расклада “один сайт — несколько приложений”, да еще с разными настройками (например, БД) возникают сложности, связанные с концептуальными решениями Django. Так что полноценную поддержку Django в Paste сделать достаточно проблематично, а частичное решение не понятно кому нужно…

P.S.Уже после того, как написал пост заметил, что и Джеймс Беннетт высказался на тему “жизнь без проектов”.