django, phpmyadmin и mysql?

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

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

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

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

3 ответов


вы можете определенно управлять 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' в качестве хоста, если у вас возникнут проблемы. Очевидно, тебе нужно бежать. "manage.py syncdb' как вы сделали с sqlite, прежде чем вы сможете его использовать.


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

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

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


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