Mar*_*rty 1 python django django-settings
我的 Django 项目结构如下所示,
.
??? myapp
? ??? apps
? ? ??? __init__.py
? ??? __init__.py
? ??? settings.py
? ??? urls.py
? ??? wsgi.py
??? manage.py
??? tests
??? test_config.py
Run Code Online (Sandbox Code Playgroud)
我从那里移动设置文件以形成以下结构。
.
??? myapp
? ??? apps
? ? ??? __init__.py
? ??? config
? ? ??? __init__.py
? ? ??? settings.py
? ? ??? urls.py
? ? ??? wsgi.py
? ??? __init__.py
??? manage.py
??? tests
??? test_config.py
Run Code Online (Sandbox Code Playgroud)
所以我改变了我的 wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.config.settings")
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)
和我的 manage.py
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.config.settings")
print "settings!!"
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
Run Code Online (Sandbox Code Playgroud)
现在,当我运行 django shell 时出现./manage.py shell此错误,回溯贴在下面。
Python 2.7.10 (default, Oct 14 2015, 16:09:02)
[GCC 5.2.1 20151010] on linux2
Django 1.9.2
Traceback (most recent call last):
File "<input>", line 5, in <module>
File "/home/marty/.virtualenvs/seventeen/local/lib/python2.7/site-packages/django/__init__.py", line 17, in setup
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
File "/home/marty/.virtualenvs/seventeen/local/lib/python2.7/site-packages/django/conf/__init__.py", line 55, in __getattr__
self._setup(name)
File "/home/marty/.virtualenvs/seventeen/local/lib/python2.7/site-packages/django/conf/__init__.py", line 41, in _setup
% (desc, ENVIRONMENT_VARIABLE))
ImproperlyConfigured: Requested setting LOGGING_CONFIG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
Run Code Online (Sandbox Code Playgroud)
这里有什么问题?我该如何解决?
谢谢
myapp 不在 PYTHONPATH 中,因此 myapp.config.settings 不是有效模块。
在 os.environ 之前,添加以下几行:
import sys
sys.path.append('path/to/dir/of/myapp')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1512 次 |
| 最近记录: |