je travaille dans le tutoriel Django et recevoir l'erreur suivante lorsque je lance le python initial manage.py syncdb:tutoriel Django dit que je ne l'ai pas mis DATABASE_ENGINE encore ... la mise mais j'ai
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.
Mon settings.py ressemble:
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.
}
}
Je devine que c'est quelque chose de simple, mais pourquoi est-ce pas voir les réglage du moteur?
Merci, cela semble définitivement être le problème. Question de suivi: J'ai créé un virtualenvwrapper en utilisant --no-site-wrappers puis j'ai installé Django. Il semble que j'ai Django 1.2.1 dans virtualenvwrapper, mais Django 1.1.1 dans mes paquets de site global. Savez-vous pourquoi ce fichier settings.py fait référence au package de site global et non à celui installé dans virtualenv? – Joe
Eh bien, c'est en fait 'manage.py' qui fait référence à la version globale plutôt qu'à la version virtualenv - les paramètres sont corrects pour la version que vous avez dans virtualenv (1.2). Question stupide: avez-vous activé le virtualenv? –
Toujours la peine de poser des questions idiotes car il est très possible que je n'ai pas. J'ai juste essayé encore (virtualenv activé) et suis maintenant à une erreur différente: django.core.exceptions.ImproperlyConfigured: Erreur de chargement du module MySQLdb: Aucun module nommé MySQLdb - En tant que nouveau venu sur Stackoverflow, je devine que je devrais poster ceci séparément ? Merci de votre aide. – Joe