Джанго, phpmyadmin и MySQL? - PullRequest
       20

Джанго, phpmyadmin и MySQL?

9 голосов
/ 06 февраля 2011

Я хотел бы начать использовать Django с MYSQL вместо sqlite все время, однако мой единственный опыт использования MSQL - через XAMPP, манипулирование базами данных через phpmyadmin. Мне бы очень хотелось сохранить это взаимодействие с MySQL и не делать все через командную строку.

Можете ли вы запустить и управлять базой данных MYSQL с помощью xampp / phpmyadmin, а затем использовать django для веб-разработки только с помощью сервера разработки Django'sn?

Или вам всегда нужно запускать новые базы данных через командную строку, и если да, то как это делается, учитывая, что я использую только mysql через xampp / phpmyadmin?

Я знаю, как связывать и управлять базой данных через django, я просто не знаю, как запустить mysql через нее, и я действительно не хочу терять mysql gui, который поставляется с xampp / phpmyadmin. вся помощь приветствуется.

Ответы [ 3 ]

11 голосов
/ 06 февраля 2011

Вы можете определенно управлять Mysql через интерфейс XAMPP. Попробуйте установить DB_HOST в settings.py на "localhost". Если это не работает, попробуйте "127.0.0.1". Обычно это вызвано тем, что модуль python-mysql ожидает, что сокет mysql unix будет в другом месте, чем он есть. На самом деле, я не уверен, использует ли сервер mysql сокет unix в Windows. Во всяком случае, один из обоих должен работать :) Вы можете использовать учетные данные, которые вы используете для входа в phpmyAdmin также для Django. Многие считают плохим стилем использовать root для задач, не связанных с администрированием (и я согласен), но для начинающих и для вашей машины разработки это не слишком большая проблема. phpMyAdmin должен работать из коробки с базами данных, управляемыми django.

Блок моей базы данных settings.py для mysql выглядит примерно так:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'DBNAME',                      # Or path to database file if using sqlite3.
        'USER': 'USER',                      # Not used with sqlite3.
        'PASSWORD': 'PASSWORD',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

Это для django 1.2 и выше. Замените DBNAME, USER и PASSWORD на соответствующие значения и попробуйте «127.0.0.1» в качестве HOST, если у вас возникнут проблемы. Очевидно, что вам нужно запустить 'manage.py syncdb', как вы это делали с sqlite, прежде чем использовать его.

3 голосов
/ 06 февраля 2011

Я очень рекомендую проверить postgresql !Он поставляется с браузером баз данных, подобным Sqlserver-Management-System, который запускается на вашем рабочем столе, а не через веб-интерфейс.Теперь вам не нужно беспокоиться о настройке PHP вместе с Django.Postgresql, вероятно, будет сложнее установить, чем MySql на XAMPP, но я считаю, что вы можете многого добиться от этого.

Postgresql также намного лучше (IMO), чем MySQL, и является рекомендуемой базой данныхиспользуйте с Django, по мнению многих людей, близких к Django.

Тем не менее, в настоящее время я использую Oracle, так что вы, вероятно, не должны меня слушать.:)

2 голосов
/ 06 февраля 2011

Вы можете легко управлять своими базами данных с помощью phpMyAdmin. Все, что нужно Django - это разрешение и доступ к информации для вашей базы данных. Как только они будут установлены (предоставление разрешений в phpMyAdmin и добавление информации о доступе в settings.py в Django), вы, например, выдадите manage.py syncdb и все готово.

...