我有下面的代码和下面的设置。但我的设置总是出错...MySQL版本是5,Django是最后一个版本。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)这是我的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 *这是我的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'我有以下错误:
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",
^发布于 2012-05-07 20:35:17
在myScript.py的第5行,您有一个#,它注释掉一行。然后,我认为第6行的DATABASE_ENGINE = " ",将是一个语法错误(尽管回溯似乎没有包括这一点)。
还有其他的问题。在myScript.py中,导入内容的方式将导致第5行中的空值覆盖settings.py数据库设置。除非这是您想要的,否则正确的方法(在myScript.py中)是:
# settings.py
from django.conf import settings
from django.db import models
from myApp.models import *也就是说,在settings.py中指定设置,不要在myScript.py中覆盖它们。
如果出于某种原因您确实需要覆盖这些设置,那么只需删除第5行的#,就可以正常工作了。
下一次,请尝试自己解决语法错误,这将比posting到堆栈溢出快得多。
https://stackoverflow.com/questions/10481961
复制相似问题