Российский Новый Университет
Опубликован: 25.01.2016 | Доступ: свободный | Студентов: 2235 / 161 | Длительность: 16:40:00
Лекция 2:

Начало работы

< Лекция 1 || Лекция 2: 12345 || Лекция 3 >

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

В этом разделе мы начнем настройку базы данных с помощью различных настроек и конфигурационных файлов.

Итак, сейчас когда у нас есть готовый к работе редактор кода, давайте откроем файл settings.py в папке проекта и посмотрим, что он содержит:

"""
Django settings for django_bookmarks project.

Generated by 'django-admin startproject' using Django 1.8.3.

For more information on this file, see
https://docs.djangoproject.com/en/1.8/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.8/ref/settings/
"""

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '2clp(s%zxfjs&z44gv19u9darbtm@#=w7uivyjf^esfyn%)sjy'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
)

ROOT_URLCONF = 'django_bookmarks.urls'

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

WSGI_APPLICATION = 'django_bookmarks.wsgi.application'


# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}


# Internationalization
# https://docs.djangoproject.com/en/1.8/topics/i18n/

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.8/howto/static-files/

STATIC_URL = '/static/'

Как вы могли уже отметить, файл содержит некоторое число переменных, контролирующих некоторые аспекты приложения. Вставить новое значение так же просто, как сделать присвоение состояния в Python. В довершение ко всему, файл богато комментирован, детально поясняя, что каждая переменная контролирует.

Но сейчас нас интересует настройка базы данных. Как отмечалось выше, Django поддерживает несколько систем баз данных, поэтому необходимо определиться, какую систему базы данных мы будем использовать. Это контролируется переменной DATABASE_ENGINE. Если вы установили SQLite, установите значение переменной в ‘sqlite3’. В противном случае выберите значение переменной исходя из выбранной вами базы данных.

Следующий шаг – указание имени базы данных. Оставьте имя базы данных по умолчанию, как есть. С другой стороны, если у вас есть сервер базы данных, вам нужно сделать следующее:

  • Ввести верную информацию о базе данных: логин, пароль, хост и порт (Для SQLite не требуется).
  • Создать базу данных на сервере базы данных, так как с помощью Django такая операция недоступна. В MySQL, к примеру, это можно сделать, используя команду mysql или утилиту командной строки phpMyAdmin.

Наконец, мы должны популярно рассказать Django о настроенной базе данных с таблицами. Хотя мы еще не создавали таблиц для наших данных (по крайней мере, до следующей главы), Django требуются некоторые таблицы в базе данных для обеспечения нормальной функциональности. Легко создать эти таблицы, используя следующую команду:

$ python manage.py syncdb

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

Если же все в порядке, мы готовы запускать приложение.

Когда вы выполняете команду, начинающуюся с python manage.py, вы должны убедиться в наличии файла manage.py в текущем каталоге проекта.

< Лекция 1 || Лекция 2: 12345 || Лекция 3 >
Константин Боталов
Константин Боталов

Вроде легкие вопросы и ответы знаю правильные, но система считает иначе и правильные ответысчитает неправильными. Приходится выполнть по несколько раз. Это я не правильно делаю или тест так составлен?

Владимир Филипенко
Владимир Филипенко

Листинг показывает в 4-ой лекции, что установлен Django 1.8.4. Тут же далее в этой лекции указаны настройки, которые воспринимает Django 1.7 и младше.