- 48
- 0
File "/home/django-file/virtualenv/test/bin/django-admin", line 5, in <module>
management.execute_from_command_line()
File "/home/django-file/virtualenv/test/lib/python2.6/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/home/django-file/virtualenv/test/lib/python2.6/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/django-file/virtualenv/test/lib/python2.6/site-packages/django/core/management/__init__.py", line 261, in fetch_command
commands = get_commands()
File "/home/django-file/virtualenv/test/lib/python2.6/site-packages/django/core/management/__init__.py", line 107, in get_commands
apps = settings.INSTALLED_APPS
File "/home/django-file/virtualenv/test/lib/python2.6/site-packages/django/conf/__init__.py", line 54, in getattr
self._setup(name)
File "/home/django-file/virtualenv/test/lib/python2.6/site-packages/django/conf/__init__.py", line 49, in _setup
self._wrapped = Settings(settings_module)
File "/home/django-file/virtualenv/test/lib/python2.6/site-packages/django/conf/__init__.py", line 132, in init
% (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'config.django.production' (Is it on sys.path? Is there an import error in the settings file?): No module named config.django.production
创建软连接后执行出现Could not import settings 'config.django.production'
- 共 0 条
- 全部回答
-
淚已干丶心已碎 普通会员 2楼
在Sentos虚拟环境中 Django-admin 创建时遇到 "Could not import settings" 错误,这通常发生在以下几种情况下:
- Django settings directory does not exist:
在Sentos中,Django-admin创建项目时需要一个名为
settings.py的文件,这个文件包含了项目的配置信息,包括数据库连接、日志配置、静态文件路径等。如果这个文件不存在或者路径不正确,Django-admin无法找到配置文件,从而引发错误。
$ sentos create-project --settings settings.py这段代码将提示
settings.py文件的路径,并要求你将此路径添加到项目的INSTALLED_APPS或者DJANGO_APPS库中。例如,如果你的settings.py文件在/usr/share/sentos/settings.py中,你需要将此路径添加到INSTALLED_APPS或者DJANGO_APPS库中:INSTALLED_APPS = [ # ... 'settings', ]或者:
DJANGO_APPS = [ # ... 'settings', ]- Settings.py文件中的配置设置未正确导入:
在
settings.py文件中,你需要确保所有必要的设置项(如数据库连接、日志配置、静态文件路径等)都已经被正确导入。例如,如果你的settings.py文件包含以下配置:
```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'sentos', 'USER': 'postgres', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': 5432, } }
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'default': { 'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s', }, }, 'filters': [ 'require_debug_false', # ... ], 'loggers': { 'django': { 'level': 'DEBUG', 'handlers': ['console'], }, }, }
STATICFILES_DIRS = [ # ... 'static', ] ```
在此例子中,我们使用了
django.db.backends.postgresql_psycopg2库来连接数据库,使用了django.contrib logging库来设置日志配置,使用了django.views.staticfiles库来设置静态文件路径。在settings.py文件中,这些设置项必须按照以下方式导入:INSTALLED_APPS = [ # ... 'django.contrib', 'django.contrib.logging', 'django.contrib.staticfiles', # ... 'settings', ]或者:
INSTALLED_APPS = [ # ... 'django.contrib', 'django.contrib.logging', 'django.contrib.staticfiles', # ... 'settings', # ... 'django.contrib.auth', # ... 'django.contrib.auth.backends.ModelBackend', ]- Settings.py文件中包含了无效的配置项:
在
settings.py文件中,你可能在设置项的名称、值或语法上出现错误,导致Django无法正确识别该设置项。例如,如果你在settings.py文件中设置了以下设置:
python MIDDLEWARE = [ # ... 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # ... 'django.middleware.csrf.CsrfMiddleware', # ... 'django.contrib.auth.middleware.AuthenticationMiddleware', # ... # ... 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.GermanMiddleware', ]在此例子中,
django.contrib.sessions.middleware.SessionMiddleware应该在MIDDLEWARE中,而不是MIDDLEWARE[0]中。在settings.py文件中,你应该修改为:MIDDLEWARE = [ # ... 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', # ... 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfMiddleware', # ... 'django.contrib.auth.middleware.AuthenticationMiddleware', # ... 'django.contrib.auth.backends.ModelBackend', ]或者:
MIDDLEWARE = [ # ... 'django.contrib.sessions.middleware.SessionMiddleware', # ... 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfMiddleware', # ... 'django.contrib.auth.middleware.AuthenticationMiddleware', # ... 'django.contrib.auth.backends.ModelBackend', 'django.contrib.messages.middleware.MessageMiddleware', ]- 路径设置不正确:
在 Django-admin 中,你可以通过设置项目的
DJANGO_SETTINGS_MODULE设置来指定项目的配置文件路径。例如,如果你的项目名为myapp,你可以设置以下DJANGO_SETTINGS_MODULE设置:
python DJANGO_SETTINGS_MODULE = 'myapp.settings'如果
settings.py文件在/usr/share/sentos/settings.py中,你也可以设置以下路径:DJANGO_SETTINGS_MODULE = '/usr/share/sentos/myapp/settings.py'请确保你正确设置了
DJANGO_SETTINGS_MODULE设置,并且文件路径与settings.py文件路径保持一致。- Django settings.py文件的权限问题:
如果
settings.py文件的权限设置不正确,Django-admin可能会无法正常运行。在这种情况下,你需要确保settings.py文件的权限设置正确,即文件和其子文件的权限为read或write位,而不是execute位。例如,如果你的settings.py文件权限为rwxrwxr-x,Django-admin可能无法读取或执行其内容,从而引发 "Could not import settings" 错误。
sudo chmod +x /usr/share/sentos/myapp/settings.py如果
settings.py文件权限为rwxrwxr-x,你可以尝试将文件权限设置为rwxr-xr-x,例如:sudo chmod +x /usr/share/sentos/myapp/settings.py sudo chown -R sentos:users /usr/share/sentos/myapp/settings.py请确保你正确设置了文件权限,并且文件的所有者和所有者组与
settings.py文件的权限一致。os.path.join函数出错: 在 Django-admin 中,你可以使用os.path.join函数来将多个文件或目录连接成一个完整的文件路径。如果os.path.join函数在settings.py文件中使用了错误的路径,Django-admin可能会抛出Could not import settings错误。
```python # settings.py import os
# ... STATIC_ROOT = os.path.join(os.path.dirname(file), 'static') ```
如果
os.path.join函数在settings.py文件中使用了错误的路径,例如/usr/share/sentos/myapp/static,Django-admin可能会抛出Could not import settings错误。在解决这个问题时,你应该检查
settings.py文件的路径是否正确,以及路径中的路径是否包含文件或目录的完整路径,而不是仅依赖于文件名。例如:```python # settings.py import os
# ... STATIC_ROOT = os.path.join(os.path.dirname(file), os.path.join(os.path.dirname(file), 'static')) ```
这将确保
os.path.join函数将static目录和其子目录连接成一个完整的文件路径。 - Django settings directory does not exist:
在Sentos中,Django-admin创建项目时需要一个名为
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
