Django New Relic uWSGI

  • Устанавливаем New Relic
  • Лицензионный ключ берем из личного кабинета, генерируем конфигурацию
  • В конфигурации правим название приложения

  • Модифицируем project/wsgi.py

  • Правим конфигурацию uwsgi.ini

sql_joined_field sphinx Django m2m

Необходимо включить результаты поиска по полю name, связанной m2m модели Category.

Модели:

Конфиг сфинкса:

ascii codec can’t encode characters in position «» Django Supervisor

В конфиг supervisor добавляем

При обновлении MySQL миниатюры изображений, отрисованные с помощью Pillow и easy_thumbnails для Django, могут перестать работать, рецепт такой же, добавить локаль в конфиг supervisor и перезапустить его.

Django Ajax

Нашел чудесную библиотеку django-ajax, берет на себя всю рутину, связанную с ajax во вьюшках Django.
Вьюшка теперь может выглядеть так:

Ответом будет JSON такого вида

Шаблон может выглядеть так:

django-simple-history трекинг истории изменения объекта

В джанго есть встроенный трекер истории, но он не позволяет откатиться на предыдущее состояние. Решить эту задачу можно с помощью удобного инструмента django-simple-history.

В settings.py

В models.py

Выполняем миграцию

Далее в admin.py

Теперь при нажатии на кнопку «История» объекта можно откатиться на выбранную ревизию.

Memcached/Johnny Cache Django 1.5 Debian

Ничего нового, просто чтобы не гуглить в очередной раз.

Конфиг memcached находится в /etc/memcached.conf, оставляю все значения по умолчанию.

В settings.py

— префикс текущего проекта

Если у вас Django 1.5 и при пустых queryset вываливается ошибка

ставьте с гитхаба


Django + Sphinx + Debian

Ставим отсюда

В settings.py

models.py

views.py

django-sphinx умеет создавать конфигурацию для Sphinx

Получившийся файл конфигурации нужно немного дополнить

Стваим Sphinx

  • Качаем исходники (есть готовые пакеты) отсюда
  • Распаковываем и конфигурируем
  • Осталось собрать пакет и установить его в ситему (никогда не делайте make install, каждый раз, когда вы так делаете, умирает котенок)

    теперь вы можете управлять пакетом с помощью пакетного менеджера.

Sphinx установлен, осталось проиндексировать БД и запустить демона.

Для дальнейшей индексации можно использовать

Для запуска

Для остановки

Для повышения качества поиска можно использовать словарь словоформ

Затем подключаем его в sphinx.conf в раздел index

Источники
http://sphinxsearch.com/docs/manual-2.0.8.html#supported-system

http://osmanov-dev-notes.blogspot.ru/2011/06/how-to-create-sphinx-wordform.html

http://proft.me/2011/01/22/polnotekstovyj-poisk-v-django/

http://habrahabr.ru/post/136261/

http://habrahabr.ru/post/147745/

http://habrahabr.ru/post/132118/

Пример использования функции reverse() при построении sitemap.xml для Django

Иногда, при построении карты сайта удобно пользоваться reverse() из django.core.urlresolvers

Установка Django в виртуальное окружение на сервере с CentOS

Подключаем репозиторий EPEL(i686)

Для архитектуры x86_64

Устанавливаем python-pip

Обновляем pip

Читать далее Установка Django в виртуальное окружение на сервере с CentOS

django virtualenvs nginx uwsgi supervisor debian

Предполагается, что у нас уже есть настроенное виртуальное окружение virtualenv debian

nginx в стандартном репозитории Debian Squeeze старый, поэтому ставить будем из backports

/etc/apt/sources.list

/etc/apt/preferences

Указываем использовать stable по умолчанию

Обновляем список репозиториев

Читать далее django virtualenvs nginx uwsgi supervisor debian