estoy trabajando a través del tutorial de Django y recibir el siguiente mensaje de error cuando ejecuto el syncdb python manage.py inicial:Django tutorial dice que no ha establecido todavía la configuración DATABASE_ENGINE ... pero tengo
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 362 in execute_manager
utility.execute()
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 303, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 195, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 222, in execute
output = self.handle(*args, **options)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/Library/Python/2.6/site-packages/django/core/management/commands/syncdb.py", line 49, in handle_noargs
cursor = connection.cursor()
File "/Library/Python/2.6/site-packages/django/db/backends/dummy/base.py", line 15, in complain
raise ImproperlyConfigured, "You haven't set the DATABASE_ENGINE setting yet."
django.core.exceptions.ImproperlyConfigured: You haven't set the DATABASE_ENGINE setting yet.
Mi settings.py parece:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'dj_tut', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'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.
}
}
que supongo que esto es algo simple, pero por qué no es de ver el ajuste del motor?
Gracias, eso definitivamente parece ser el problema. Pregunta de seguimiento: Creé una virtualenvwrapper usando --no-site-wrappers y luego instalé Django. Parece que tengo Django 1.2.1 en virtualenvwrapper, pero Django 1.1.1 en mis paquetes de sitios globales. ¿Sabes por qué este archivo settings.py se estaría refiriendo al paquete del sitio global y no al que está instalado en el virtualenv? – Joe
Bueno, en realidad es el 'manage.py' que se refiere a la versión global en lugar de la versión virtual: la configuración es correcta para la versión que tiene dentro del virtualenv (1.2). Pregunta tonta: ¿Has activado el virtualenv? –
Siempre vale la pena hacer las preguntas tontas, ya que es muy posible que yo no las haya hecho. Lo intenté de nuevo (virtualenv activado) y ahora estoy fuera de un error diferente: django.core.exceptions.ImproperlyConfigured: Error al cargar el módulo MySQLdb: Ningún módulo llamado MySQLdb - Como recién llegado a Stackoverflow, supongo que debo publicar esto por separado ? Gracias por tu ayuda. – Joe