【问题标题】:python manage.py migration not working and so does runserverpython manage.py 迁移不起作用,runserver 也是如此
【发布时间】:2015-11-30 17:32:18
【问题描述】:
我成功安装了mysql。但是当我尝试运行以下命令时
-python manage.py makemigrations
-python manage.py syncdb
它给了我这个错误。
导入错误:没有名为 python.settings 的模块
我的 wsgi.py 文件包含
导入操作系统
从 django.core.wsgi 导入 get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Portfolio.settings")
应用程序 = get_wsgi_application()
P.S:我正在使用 ubuntu 14.04,另外 python manage.py runserver 命令也有同样的错误。
【问题讨论】:
标签:
python
mysql
django
python-2.7
【解决方案1】:
我正在运行一个类似的服务器设置(Ubuntu 14.04、Apache、mod_wsgi),在我们的 wsgi.py 文件中,我们必须做两件事来确保它正常工作。我们使用了顶级应用目录的导入,并且还有一个多文件(不是 django 默认的)设置结构,并且必须调整我们的设置文件的规范。
比如我们的文件夹结构是:
project-directory
- manage.py
- static
- app1-directory
- settings # a directory, not a file
- development.py
- quality_assurance.py
- production.py
- wsgi.py
- app2-directory
在 wsgi.py 文件中,我们需要在 setdefault 行之前立即包含此指令:
import sys
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
我们所做的第二个更改是指定确切的设置文件,因此我们使用以下示例代替“app1-directory.settings”:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app-name.settings.quality_assurance")