Django. MySQL — различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 48: | Строка 48: | ||
https://stackoverflow.com/questions/42640924/troubles-installing-mysqlclient-with-pip3 | https://stackoverflow.com/questions/42640924/troubles-installing-mysqlclient-with-pip3 | ||
+ | |||
+ | ==Настройки подключения Django MySQL== | ||
+ | |||
+ | Django по умолчанию использует базу данных SQLite. Настройки подключения для того же выглядят так. | ||
+ | |||
+ | DATABASES = { | ||
+ | 'default': { | ||
+ | 'ENGINE': 'django.db.backends.sqlite3', | ||
+ | 'NAME': BASE_DIR / 'db.sqlite3', | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Чтобы подключить Django к базе данных MySQL, мы должны использовать следующие настройки. | ||
+ | |||
+ | DATABASES = { | ||
+ | 'default': { | ||
+ | 'ENGINE': 'django.db.backends.mysql', | ||
+ | 'NAME': 'databaseName', | ||
+ | 'USER': 'databaseUser', | ||
+ | 'PASSWORD': 'databasePassword', | ||
+ | 'HOST': 'localhost', | ||
+ | 'PORT': 'portNumber', | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Ключ ENGINE для базы данных MySQL может быть разным. Кроме того, есть несколько дополнительных клавиш, таких как USER, PASSWORD, HOST и PORT. | ||
+ | NAME Этот ключ хранит имя вашей базы данных MySQL. | ||
+ | USER В этом ключе хранится имя пользователя вашей учетной записи MySQL, с помощью которой будет подключена база данных MySQL. | ||
+ | PASSWORD Этот ключ хранит пароль этой учетной записи MySQL. | ||
+ | HOST В этом ключе хранится IP-адрес, на котором размещена ваша база данных MySQL. | ||
+ | PORT В этом ключе хранится номер порта, на котором размещена ваша база данных MySQL. | ||
+ | Наконец, выполните необходимые миграции с помощью python manage.py makemigrations и python manage.py migrate, чтобы завершить настройку. | ||
[[Category:Django]] | [[Category:Django]] |
Версия 22:02, 22 сентября 2022
Содержание
Linux
Установка клиента MySQL
pip install mysqlclient
Ошибка установки клиента MySQL
pip install mysqlclient
Collecting mysqlclient Using cached mysqlclient-2.1.1.tar.gz (88 kB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [16 lines of output] /bin/sh: 1: mysql_config: not found /bin/sh: 1: mariadb_config: not found /bin/sh: 1: mysql_config: not found Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 34, in <module> File "/tmp/pip-install-xgyv4lm5/mysqlclient_030ce29558df4cf6bfd1de16e62dd640/setup.py", line 15, in <module> metadata, options = get_config() File "/tmp/pip-install-xgyv4lm5/mysqlclient_030ce29558df4cf6bfd1de16e62dd640/setup_posix.py", line 70, in get_config libs = mysql_config("libs") File "/tmp/pip-install-xgyv4lm5/mysqlclient_030ce29558df4cf6bfd1de16e62dd640/setup_posix.py", line 31, in mysql_config raise OSError("{} not found".format(_mysql_config_path)) OSError: mysql_config not found mysql_config --version mariadb_config --version mysql_config --libs [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details.
Для исправления ошибки:
sudo apt install libmysqlclient-dev sudo aptitude install python3-dev
https://stackoverflow.com/questions/42640924/troubles-installing-mysqlclient-with-pip3
Настройки подключения Django MySQL
Django по умолчанию использует базу данных SQLite. Настройки подключения для того же выглядят так.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
Чтобы подключить Django к базе данных MySQL, мы должны использовать следующие настройки.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'databaseName', 'USER': 'databaseUser', 'PASSWORD': 'databasePassword', 'HOST': 'localhost', 'PORT': 'portNumber', } }
Ключ ENGINE для базы данных MySQL может быть разным. Кроме того, есть несколько дополнительных клавиш, таких как USER, PASSWORD, HOST и PORT. NAME Этот ключ хранит имя вашей базы данных MySQL. USER В этом ключе хранится имя пользователя вашей учетной записи MySQL, с помощью которой будет подключена база данных MySQL. PASSWORD Этот ключ хранит пароль этой учетной записи MySQL. HOST В этом ключе хранится IP-адрес, на котором размещена ваша база данных MySQL. PORT В этом ключе хранится номер порта, на котором размещена ваша база данных MySQL. Наконец, выполните необходимые миграции с помощью python manage.py makemigrations и python manage.py migrate, чтобы завершить настройку.