Настраиваем django 1.1 / 1.2 для работы с mysql db — Базы данных mySQL

Никакое приложение не может обойтись без использования базы данных! В современном мире это уже факт. Тем более это относится к web приложению. Тем более к django.

Приступим.

Ставить будем в ubuntu linux. Не пугайтесь для windows отличия только в виде установки. Вам придётся самим качать необходимые пакеты и устанавливать их.

Ставим базу и python модуль для работы с ней (https://sourceforge.net/projects/mysql-python/ ):

sudo apt-get install mysql-server python-mysqldb

django я предполагаю у вас уже установлено.

После закачки и установки пакетов (у вас должны были спросить имя для root пользователя базы) необходимо немного подредактировать настройки mysql.

sudo gedit /etc/mysql/my.cnf

В секцию [client] необходимо добавить строку:

default-character-set=utf8

В  [mysqld] добавим строчки:

default-character-set=utf8

collation_server=utf8_unicode_ci

Перезагружаем mysql сервер:

sudo service mysql restart

Готово. Создадим базу данных для нашего приложения.

Заходим в консоль mysql :

mysql -u root -p

Спросят пароль к базе данных.

Создаем базу:

 

mysql> CREATE DATABASE mysite;

 

Обратите внимание что «mysql> » в строку добавлен чтобы указать что мы находимся в консоли mysql. 

Даём привелегии пользователю root ( для другого юзверя просто меняем имя)

GRANT ALL ON mysite.* TO ;

Готово.

Теперь настраиваем приложение django.

Тут есть отличия. 

Для версии 1.1 настройки указываются обычными директивами в settings.py.

Для версии 1.2 предусмотрена структура данных. Но директивы внутри неё теже самые.

Для 1,1 :

 

DATABASE_ENGINE = ‘mysql’           # ‘postgresql_psycopg2’, ‘postgresql’, ‘mysql’, ‘sqlite3’ or ‘oracle’.

DATABASE_NAME = ‘mysite’             # Or path to database file if using sqlite3.

DATABASE_USER = ‘root’             # Not used with sqlite3.

DATABASE_PASSWORD = ‘password for your user’         # Not used with sqlite3.

DATABASE_HOST = »             # Set to empty string for localhost. Not used with sqlite3.

DATABASE_PORT = »             # Set to empty string for default. Not used with sqlite3.

 

В 1,2 всё тоже только структура такая:

 

DATABASES = {

    ‘default’: {

        ‘ENGINE’: ‘django.db.backends.mysql’,

        ‘NAME’: ‘mydatabase’

    }

}            

За сим всё. 

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий