Настройка nginx, uwsgi и django с django CMS на ubuntu 12.04 LTS

Записываю свой типовой шаблон настройки сервера с Ubuntu 12.04 LTS с нуля для раздачи django-проектов с помощью nginx, uwsgi и с изоляцией окружений с помощью virtualenv.

Для начала установка собственно ПО:

sudo apt-get install nginx uwsgi uwsgi-plugin-python \
python-virtualenv libjpeg62-dev

Используемая структура каталогов:

  • /var/lib/django/projects: для окружений virtualenv, соответствующих проектам
  • /web/: для статичных файлов проектов

Continue reading Настройка nginx, uwsgi и django с django CMS на ubuntu 12.04 LTS

Экспорт-импорт данных django-cms

Приводил сегодня в порядок базу данных одного проекта на django-cms и в ходе этого процесса решил перенести накопившиеся данные в новую БД, инициализированную с нуля и с успешно прогнанными миграциями. И, т.к в документации об этом не было ни слова, пришлось искать решение, и наткнуться на пару ошибок, после которых удалось создать готовый рецепт:

  • Первым делом переносим данные из таблицы auth_user, например, средствами БД;
  • Далее делаем два файла с данными. Так нужно, чтобы избежать проблемы с ключами в таблице cms_placeholder (IntegrityError: duplicate key value violates unique constraint “cms_placeholder_pkey”), которые например описаны в рассылке django-cms:

    ./manage.py dumpdata --indent=2 cms.placeholder > initial_data.cms.01.json

    ./manage.py dumpdata --indent=2 cms.cmsplugin cms.page cms.pagemoderatorstate cms.pageuser \
    cms.title picture snippet text (сюда-же впишем и остальные плагины) > initial_data.cms.02.json

  • И теперь загружаем полученные данные в новую БД:

    ./manage.py loaddata initial_data.cms.01.json
    ./manage.py loaddata initial_data.cms.02.json