четверг, 23 августа 2012 г.

Django Настройка базы данных

Отредактируйте mysite/settings.py.
Измените значения следующих ключей в переменной DATABASES 'default' в соответствии с настройками вашей базы данных.

ENGINE – Доступные значения:
'django.db.backends.postgresql_psycopg2',
'django.db.backends.mysql',
'django.db.backends.sqlite3',
'django.db.backends.oracle'. Так же доступны другие бэкэнды.

NAME – Название базы данных.
Если вы используете SQLite, база данных будет файлом на вашем компьютере; в таком случае NAME должна содержать полный путь, включая название этого файла. Если файл не существует, он будет автоматически создан при первой синхронизации базы данных.

При определении пути, всегда используйте прямой слэш, даже в Windows (например, C:/homes/user/mysite/sqlite3.db).

USER – имя пользователя базы данных (не используется для SQLite).

PASSWORD – пароль к базе данных (не используется для SQLite).

HOST – хост на котором находится база данных. Оставьте пустым, если база данных находится на одном сервере с проектом (не используется для SQLite).

Если у вас нет опыта работы с базами данных, советуем использовать SQLite установив ENGINE в 'django.db.backends.sqlite3' и указав в NAME где вы хотите хранить базу данных. SQLite включен в Python 2.5 и выше, так что вам не нужно ничего устанавливать.

Если вы используете PostgreSQL или MySQL, убедитесь что вы создали базу данных. Мы можете сделать это выполнив запрос "CREATE DATABASE database_name;" в консоли базы данных.

Если вы используете SQLite, вам ничего не нужно создавать самостоятельно - файл базы данных будет создан при необходимости.

При редактировании settings.py, добавьте значение вашей временной зоны в TIME_ZONE. (Значение по-умолчанию - временной пояс Чикаго.)

Так же обратим внимание на INSTALLED_APPS в конце файла настроек. Эта переменная содержит приложения Django которые используются в проекте. Приложения могут использоваться в различных проектах, вы можете упаковать их и распространять другим пользователям.

По-умолчанию, INSTALLED_APPS содержит следующие приложения, все они включены в Django:

django.contrib.auth – система аутентификации.
django.contrib.contenttypes – "content types" фреймверк.
django.contrib.sessions – фреймверк сессии.
django.contrib.sites – фреймверк для использования нескольких сайтов с одной инсталяцией Django.
django.contrib.messages – фреймверк сообщений.
django.contrib.staticfiles – фреймверк для работы со статическими файлами.

Эти приложения добавлены по-умолчанию так как полезны в большинстве проектов.

Каждое приложение может использовать хотя бы одну таблицу в базе данных, по этому нам нужно их создать прежде чем мы сможем использовать их. Для этого выполните следующую команду:

python manage.py syncdb

Команда syncdb анализирует значение INSTALLED_APPS и создает все необходимые таблицы в базе данных, используя настройки базы данных из файла settings.py. Вы увидите сообщение о создании таблиц и предложение создать суперпользователя. Воспользуйтесь этим предложением.

Если вам интересно, запустите консольный клиент для вашей базы данных и выполните \dt (PostgreSQL), SHOW TABLES; (MySQL), или .schema (SQLite), чтобы увидеть какие таблицы создал Django.

Как мы уже сказали, приложения по-умолчанию полезны в большинстве проектов, но не во всех. Если вы не нуждаетесь в некоторых или во всех, закомментируйте или удалите соответствующие строки в INSTALLED_APPS перед запуском syncdb. Команда syncdb создает таблицы только для приложений в INSTALLED_APPS.

1 комментарий: