четверг, 15 ноября 2012 г.

PostgreSQL, plsql и кодовая страница Windows

Для обычного виндоадмина PostgreSQL - как взрыв мозга и разрыв GUI шаблонов ))
И так задача - нужно создать пользователя БД. Средство администрирования pgAdmin не позволяет создать пользователя для определенной БД. Можно создать роль, но как привязать её к БД средствами GUI интерфейса совсем непонятно. Ладно, берем утилиту psql.exe, запускаем и получаем грозное сообщение:

C:\Programs\PostgreSQL\9.0\bin>psql -U postgres

psql (9.0.10)
ПРЕДУПРЕЖДЕНИЕ: Кодовая страница консоли (866) отличается от основной
                страницы Windows (1251).
                8-битовые (русские) символы могут отображаться некорректно.
                Подробнее об этом смотрите документацию psql, раздел
                "Notes for Windows users".
Введите "help", чтобы получить справку.

Можно впасть в депрессию, представив что нужно будет читать иероглифы, полученные отображением cp1251 под dos866. Но не всё потеряно. Рецепт из доки:

  1. \q или Ctrl+Z - выходим обратно в шелл
  2. chcp 1251 - меняем кодировку шелла на win1251
  3. в свойствах окна шелла меняем шрифт на Lucida Console
Ок. Кодировку починили, делаем пользователя. В сеансе psql:
  1. Подключаемся к БД - CONNECT our_database_name
  2. Создаем роль CREATE USER djangoweb;
    (обазательно точку с запятой в конце, иначе не SQL не выполнится)

среда, 31 октября 2012 г.

Первое приложение django

Итак, ранее мы установили всё что нам нужно. Теперь приступим к магии. ))
Запустим eclipse, выберем папку, в котором будут располагаться наши новые проекты.
Создадим новый проект типа "PyDev Django Project", укажем нашу версию джанги и параметры соединения с БД. Напоминаю что в поле Database Engine вместо django.db.backends.postgresql_psycopg2 укажем django.contrib.gis.db.backends.postgis

Если всё хорошо, то мы увидим дерево нового проекта. Но почему-то параметры БД, которые мы указывали в мастере создания проекта не сохранились. Возможно нужно покопаться в этом позже, но очень лень, по-этому впишем вручную в файле settinge.py параметр DATABASES.

Создаем новое приложение

Под "приложением", по всей видимости, django имеет в виду отдельный набор "модель, представление, шаблон". Для создания приложения используется скрипт manage.py startapp <appname> [destination] . После выполнения этой команды создаётся каталог с требуемой структорой файлов. PyDev реализует вызов этого скрипта через меню. В дереве проектов, вызвать контекстное меню проекта и выбрать Django->Create application (manage.py startapp) и ввести имя нового приложения.

Настройка поддержки геоданных в Django

Настройка окружения для работы с геоданными

В моем проекте одной из основных функцию будет работа с географическими координатами и другими объектами. Для этого в django существует фреймворк GeoDjango который с помощью GIS библиотек обрабатывает геоданные.
Итак, нам необходимо установить:

  1. GEOS ( Geometry Engine Open Source ) http://trac.osgeo.org/osgeo4w/
  2. PostGIS гео модуль для PostgreSQL сервера.

Установка окружения для разработки в Django под Windows

Начало разработки в Django

Для того чтобы быстро начать работать с django под windows нужно:

  1. Установить Python и Django.
  2. Установить IDE Eclipse 
  3. В Eclipse установим дополнение PyDev.
  4. Установить БД, с которой будут работать наши джанго приложения.