суббота, 25 февраля 2012 г.

Опрос (ч.2)

В части 1 мы создали файл с моделями нашего приложения polls/models.py. В этой части мы настроим наш проект и создадим таблицы в базе данных.


Этап 3. Настройка проекта

3.1. По умолчанию в файле настроек проекта firstsite/firstsite/settings.py приведены настройки подключения к базе данных sqlite. Оставим их.
3.2. Подключим приложение polls к проекту:
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # Приложение "Опросы"
    'polls',
)
# ...

# Указываем русский язык для админки
LANGUAGE_CODE = 'ru-RU'

Важно: Файл settings.py, как и другие файлы проекта рекомендуется сохранять в кодировке utf-8 (без BOM) и предварять каждый файл явным указанием кодировки:
# -*- coding:utf-8 -*-

В противном случае при использовании в файле русских букв Django покажет ошибку:

File "C:\sites\firstsite\firstsite\settings.py", line 40
SyntaxError: Non-ASCII character '\xd0' in file C:\sites\firstsite\firstsite\settings.py on line 40, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details 


Этап 4. Генерация таблиц в БД

4.1. Проверим правильность настройки. Откройте командную строку (cmd.exe), перейдите в папку проекта firstsite. Выполните команду:
manage.py sql polls

При правильной настройке вы получите список команд, которые Django выполнит при создании таблиц в БД для приложения polls:


Список команд при создании БД

Обратите внимание:
  • названия таблиц генерируются так: имяПриложения_имяМодели
  • id каждой таблицы генерируется автоматически
  • по умолчанию поля NOT NULL
  • к названию поля внешнего ключа добавляется _id
  • внешний ключ создается выражением NULL REFERENCES "polls_question" ("id")

4.2. Проверим модели на наличие ошибок. Выполните в командной строке:
manage.py validate
4.3. Сгенерируем таблицы в БД:
manage.py syncdb
При генерации таблиц вам предложат создать superuser. Согласитесь, набрав yes. Введите логин и пароль – их вы будете использовать для входа в админку.


 Продолжение: Опрос (ч.3.1)


Комментариев нет:

Отправить комментарий