Seite 1 von 3
Django mit MySQL connection
Verfasst: Samstag 3. Oktober 2009, 19:30
von kostonstyle
Hallo miteinander
habe eine Frage zu Django, wie stelle ich eine Verbindung von Django zu MySQL her? MySQL ist installiert und ist über die Adresse
http://127.0.0.1/phpmyadmin zugreifbar. In der Datei settings.py könne man diverse Parameter mitgeben, wie muss ich es füllen
Code: Alles auswählen
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = '' # Or path to database file if using sqlite3.
DATABASE_USER = '' # Not used with sqlite3.
DATABASE_PASSWORD = '' # 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.
Danke kostonstyle
Verfasst: Sonntag 4. Oktober 2009, 01:17
von Dauerbaustelle
Hm, was will man wohl, dass du bei "DATABASE_USER" einträgst? Na? Genau, den Datenbank-Benutzernamen! Und bei "DATABASE_NAME"? Na? Genau, den Datenbank-Namen! Und bei "DATABASE_PASSWORD"? Na? Genau, das Datenbank-Passwort!
...
Verfasst: Sonntag 4. Oktober 2009, 07:54
von nemomuk
Das schwierige dabei ist jetzt aber nur bei DATABASE_HOST nicht "
http://127.0.0.1/phpmyadmin" einzutragen, sondern "127.0.0.1", weil PHPMyAdmin und nicht MySQL über diese Adresse verfügbar ist (wenn ich das mal so hineininterpretieren darf).
Verfasst: Sonntag 4. Oktober 2009, 09:48
von ms4py
SchneiderWeisse hat geschrieben:Das schwierige dabei ist jetzt aber nur bei DATABASE_HOST nicht "
http://127.0.0.1/phpmyadmin" einzutragen, sondern "127.0.0.1", weil PHPMyAdmin und nicht MySQL über diese Adresse verfügbar ist (wenn ich das mal so hineininterpretieren darf).
Code: Alles auswählen
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
==> Bei Host muss er gar nichts eintragen, kann er so lassen!
Verfasst: Sonntag 4. Oktober 2009, 10:27
von nemomuk
Ist aber auch nicht schlimm, wenn ers einträgt...

Verfasst: Sonntag 4. Oktober 2009, 11:54
von Dauerbaustelle
SchneiderWeisse hat geschrieben:Das schwierige dabei ist jetzt aber nur bei DATABASE_HOST nicht "
http://127.0.0.1/phpmyadmin" einzutragen, sondern "127.0.0.1", weil PHPMyAdmin und nicht MySQL über diese Adresse verfügbar ist (wenn ich das mal so hineininterpretieren darf).
Hä, war das Sarkasmus? Ich habs nicht verstanden.
Verfasst: Sonntag 4. Oktober 2009, 16:02
von apollo13
ice2k3 hat geschrieben:==> Bei Host muss er gar nichts eintragen, kann er so lassen!
Nunja nicht immer, man sollte wissen, dass localhost != 127.0.0.1 ist. Wenn er sockets will ist localhost okay für tcp sollte man dann doch 127.0.0.1 verwenden.
Verfasst: Sonntag 4. Oktober 2009, 18:37
von kostonstyle
Folgendes habe ich in settings.py eingetragen
Code: Alles auswählen
DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'test' # Or path to database file if using sqlite3.
DATABASE_USER = 'root' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '127.0.0.1' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
bei der Ausführung von runserver erhalte ich folgende Meldung
Code: Alles auswählen
Develops-MacBook-Pro:web develop$ python manage.py runserver
Validating models...
Unhandled exception in thread started by <function inner_run at 0x10111c488>
Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/django/core/management/commands/runserver.py", line 48, in inner_run
self.validate(display_num_errors=True)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 249, in validate
num_errors = get_validation_errors(s, app)
File "/Library/Python/2.6/site-packages/django/core/management/validation.py", line 22, in get_validation_errors
from django.db import models, connection
File "/Library/Python/2.6/site-packages/django/db/__init__.py", line 41, in <module>
backend = load_backend(settings.DATABASE_ENGINE)
File "/Library/Python/2.6/site-packages/django/db/__init__.py", line 17, in load_backend
return import_module('.base', 'django.db.backends.%s' % backend_name)
File "/Library/Python/2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Library/Python/2.6/site-packages/django/db/backends/mysql/base.py", line 13, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
vielleicht muss ich es noch erwähnen, ich verwende mysql mit xampp, also xampp Paket ist auf mein mac installiert.
Verfasst: Sonntag 4. Oktober 2009, 18:40
von Dauerbaustelle
"No module named MySQLdb "
Worauf könnte das wohl hinweisen?
Verfasst: Sonntag 4. Oktober 2009, 18:42
von kostonstyle
das Modul MySQLdb muss ich noch installieren. werde mich im internet recherchieren. Wo kann man es herunterladen.
Verfasst: Sonntag 4. Oktober 2009, 18:56
von kostonstyle
habe nun das modul heruntergeladen, bei der Installation sind folgende Meldungen aufgetreten.
Code: Alles auswählen
Develops-MacBook-Pro:MySQL-python-1.2.3c1 develop$ python setup.py build
sh: mysql_config: command not found
Traceback (most recent call last):
File "setup.py", line 15, in <module>
metadata, options = get_config()
File "/Users/develop/Desktop/MySQL-python-1.2.3c1/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/Users/develop/Desktop/MySQL-python-1.2.3c1/setup_posix.py", line 24, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Verfasst: Sonntag 4. Oktober 2009, 19:04
von kostonstyle
ich denke der Fehler liegt bei der Datei site.cfg. Was muss ich dir genau eintragen für mein mac.
Code: Alles auswählen
# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
#mysql_config = /usr/local/bin/mysql_config
# The Windows registry key for MySQL.
# This has to be set for Windows builds to work.
# Only change this if you have a different version.
registry_key = SOFTWARE\MySQL AB\MySQL Server 5.0
Verfasst: Sonntag 4. Oktober 2009, 22:14
von apollo13
gar nichts, die Datei passt so, du willst allerdings das mitgelieferte README durchlesen
Verfasst: Samstag 24. Oktober 2009, 19:18
von kostonstyle
habe README nun ausführlich gelesen, aber erhalte immer noch diese Fehlermeldung, wenn ich MYSQL installieren möchte.
Code: Alles auswählen
sh: mysql_config: command not found
Traceback (most recent call last):
File "setup.py", line 15, in <module>
metadata, options = get_config()
File "/Users/develop/Desktop/MySQL-python-1.2.3c1/setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "/Users/develop/Desktop/MySQL-python-1.2.3c1/setup_posix.py", line 24, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
ich glaube mir fehlt ein Datei, mysql_config....
Gruss kostonstyle
Verfasst: Samstag 24. Oktober 2009, 20:24
von kostonstyle
habe im internet folgende anleitung gefunden.
habe im datei setup_posix.py folgendes geändert.
Code: Alles auswählen
#mysql_config.path = "mysql_config"
mysql_config.path = "/usr/local/mysql/bin/mysql_config"
aber leider funktioniert die installation immer noch nicht.
Verfasst: Samstag 24. Oktober 2009, 22:05
von apollo13
Wie gesagt die datei passt so und du sollst sie __nicht__ ändern. Du willst deinen Paketmanager verwenden um das Paket, dass mysql_config enthält zu installieren…
EDIT:// Sry, ich hatte versehentlich angenommen, dass du ein Linux verwendest, dem ist allerdings scheinbar nicht so

Schau mal ob dir hier wo geholfen wird:
http://www.google.at/search?hl=de&q=ins ... =&aq=f&oq= Grundsätzlich brauchst du das dev paket von Mysql, dort ist mysql_config dabei…
EDIT2:// Schau mal ob im xampp installationsordner irgendwo ne mysql_config rumfliegt, wenn nicht solltest du mysql vlt mal richtig installieren…
Verfasst: Sonntag 25. Oktober 2009, 11:14
von kostonstyle
mein system ist mac. xampp habe ich installiert, irgendwie muss ich eine verbindung zu mysql von xampp paket herstellen, die frage ist eben wie?
Verfasst: Sonntag 25. Oktober 2009, 23:06
von apollo13
Wenn wir von dem:
http://www.apachefriends.org/en/xampp.html reden und dort kein mysql_config drin ist, dann gar nicht… Wie gesagt installier MySQL (inklusive der dev version für den Client) normal über deinen Paketmanager (nen mac hat doch sowas oder?)
Verfasst: Montag 26. Oktober 2009, 10:45
von Leonidas
apollo13 hat geschrieben:(nen mac hat doch sowas oder?)
Nein. Es gibt fink und MacPorts, aber die sind nicht Standard, so wie APT oder FreeBSD Ports auf anderen Unix-Systemen.
Verfasst: Montag 26. Oktober 2009, 14:58
von nemomuk
Wobei ich sagen muss, dass MacPorts nicht gerade das gelbe vom Ei ist, da installier ich mir die Sachen lieber selbst.
MySQL existiert für Mac und lässt sich komfortabel installieren, habe dazu auch schonmal eine Anleitung geschrieben:
http://www.icoost.com/programmiersprach ... tallieren/