Первое что необходимо сделать, это установить MySql.
Как устанавливать и где взять дистрибутив можно узнать тут:
Install MySql
В конце приведены правки файла py.ini. Не нужно ставить кодировку 1251 как там рекомендуют. Если верить источникам для Django это не пригодится. Вместо кодировки 1251 ставим utf8.
Вот пример:
[mysql]
default-character-set=utf8
[mysqld]
port=3306
character-set-server=utf8
default-storage-engine=MYISAM
Вот подробности, если нужно: Пример
Далее.
Нам нужно установить клиента для обращения к серверу. Есть варианты. Вот ссылка на подробности: http://djbook.ru/rel1.8/ref/databases.html#mysql-db-api-drivers
Если кратко, то
Как устанавливать и где взять дистрибутив можно узнать тут:
Install MySql
В конце приведены правки файла py.ini. Не нужно ставить кодировку 1251 как там рекомендуют. Если верить источникам для Django это не пригодится. Вместо кодировки 1251 ставим utf8.
Вот пример:
[mysql]
default-character-set=utf8
[mysqld]
port=3306
character-set-server=utf8
default-storage-engine=MYISAM
Вот подробности, если нужно: Пример
Далее.
Нам нужно установить клиента для обращения к серверу. Есть варианты. Вот ссылка на подробности: http://djbook.ru/rel1.8/ref/databases.html#mysql-db-api-drivers
Если кратко, то
- MySQLdb - для тех у кого python v2.
- mysqlclient - рекомендуемый вариант, поддерживает python v3.
- MySQL Connector/Python is a pure Python driver from Oracle that does not require the MySQL client library or any Python modules outside the standard library.... Ну тут думаю понятно.
Я ставил mysqlclient.
Установка mysqlclient.
т.е. переходим в директорию куда скачали whl-файл и вызываем pip install <file_name>. На экране видно что должно быть в окне cmd в случае успешной установки.
На текущий момент, мы:
mydb - имя вашей базы данных;
mydb_user - пользователь;
your_password - хмммм.... что бы это могло быть?
Теперь, когда у нас есть база данных и юзер, нужно сообщить о них django.
Открываем файл setting.py вашего проекта, и в файле видим параметр "DATABASES". Это питоновский словарь, который содержит список баз данных и параметров. Меням то что там было на следующее:
Сохраняем изменения и запускаем cmd.
В cmd переходим в каталог с нажим проектом и вводим команду:
python manage.py migrate.
Эта команда создает в базе данных служебные таблицы для работы подключенных к проекту приложений.
Если все прошло хорошо, результат должен выглядеть примерно так:
На этом все! Ваш django - проект теперь имеет доступ к MySql.
На текущий момент, мы:
- Установили и настроили MySql;
- Установили клиент, который использует Django для доступа к MySql.
Дальше необходимо создать базу данных, пользователя для базы данных, и прописать эти данные в настройки django (файл setting.py)
Создаем базу данных и юзера.
Запускаем консоль MySql (в Windows она находится в меню пуск, называется "MySQL 5.5 Command Line Client").
При запуске вводим пароль root-а, в вводим SQL:
DROP DATABASE IF EXISTS `mydb`;
CREATE DATABASE `mydb`
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
USE 'mysql';
GRANT ALL PRIVILEGES ON mydb.* TO 'mydb_user'@'localhost' IDENTIFIED BY 'your_password'
WITH GRANT OPTION;
FLUSH PRIVILEGES;
, гдеmydb - имя вашей базы данных;
mydb_user - пользователь;
your_password - хмммм.... что бы это могло быть?
Теперь, когда у нас есть база данных и юзер, нужно сообщить о них django.
Открываем файл setting.py вашего проекта, и в файле видим параметр "DATABASES". Это питоновский словарь, который содержит список баз данных и параметров. Меням то что там было на следующее:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER': 'mydb_user',
'PASSWORD': 'your_password',
'HOST': '',
'PORT': '',
}
}
Листинги взяты отсюда.Сохраняем изменения и запускаем cmd.
В cmd переходим в каталог с нажим проектом и вводим команду:
python manage.py migrate.
Эта команда создает в базе данных служебные таблицы для работы подключенных к проекту приложений.
Если все прошло хорошо, результат должен выглядеть примерно так:
На этом все! Ваш django - проект теперь имеет доступ к MySql.
Комментариев нет:
Отправить комментарий