Django setting.py erreur
J'ai le code suivant avec les paramètres suivants. Mais j'ai toujours une erreur dans mes paramètres ...
MySQL version 5 et Django la dernière version.
Python 3.7
#!/usr/bin/env python
import os
import sys
sys.path.append("/home/test")
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "standAlone.myScript")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
C'est mon myScript:
# settings.py
from django.conf import settings
#settings.configure(
DATABASE_ENGINE = " ",
DATABASE_NAME = " ",
DATABASE_USER = " ",
DATABASE_PASSWORD = " ",
DATABASE_HOST = " ",
DATABASE_PORT = " ",
# INSTALLED_APPS = ("myApp")
)
from django.db import models
from myApp.models import *
Et c'est mon settings.py:
DATABASE_ENGINE = 'django.db.backends.mysql'
DATABASE_NAME = 'DATABASE_NAME'
DATABASE_USER = '****'
DATABASE_PASSWORD = '****'
DATABASE_HOST = '127.0.0.1'
DATABASE_PORT = '3306'
J'ai l'erreur suivante:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/test/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/home/test/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/test/django/core/management/__init__.py", line 252, in fetch_command
app_name = get_commands()[subcommand]
File "/home/test/django/core/management/__init__.py", line 101, in get_commands
apps = settings.INSTALLED_APPS
File "/home/test/django/utils/functional.py", line 184, in inner
self._setup()
File "/home/test/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/home/test/django/conf/__init__.py", line 93, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/home/test/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/test/standAlone/myScript.py", line 6
DATABASE_ENGINE = "django.db.backends.mysql",
^
- La version de django utilisez-vous? Vous dire plus tard, entendez-vous la dernière version officielle (1.4) ou êtes-vous à l'aide de experiemental 1.5 code à partir du dépôt git?
- Aussi, je suppose que vous voulez dire Python 2.7 depuis 3.7 n'existe pas? Vous pourriez vouloir les corriger.
- Vous avez habilement a omis de citer l'exception. Je suppose que c'est
IndentationError
. - Si vous utilisez la dernière version de Django, vous avez clairement besoin de lire la documentation. C'est même pas comment vous spécifiez les bases de données de plus. docs.djangoproject.com/en/1.4/ref/settings/#databases
Vous devez vous connecter pour publier un commentaire.
En ligne 5 en myScript.py vous avez un
#
qui commente une ligne. Alors, je pense que la ligne 6DATABASE_ENGINE = " ",
sera une erreur de syntaxe (si le traceback ne semble pas inclure cette).Il y a d'autres problèmes aussi. La façon dont vous les importez les choses vont provoquer l'settings.py paramètres de base de données pour être remplacées par des valeurs vides dans la ligne 5, en myScript.py. Sauf si c'est ce que vous voulez, d'une manière correcte de le faire (en myScript.py) est:
Qui est, spécifiez les paramètres dans settings.py, ne pas les écraser dans myScript.py.
Si vous avez besoin de remplacer les paramètres pour quelque raison que ce soit, alors il suffit de retirer le
#
à la ligne 5, et les choses pourraient fonctionner.La prochaine fois, s'il vous plaît essayer de résoudre les erreurs de syntaxe par vous-même, il sera beaucoup plus rapide que de l'affichage à débordement de pile.