【发布时间】:2016-04-06 09:44:46
【问题描述】:
我在本地创建了一个 Django 应用程序,我想将它托管在 PythonAnywhere.com 上。我按照https://help.pythonanywhere.com/pages/VirtualEnvForNewerDjango 的指示创建了一个安装了 1.9 的virtualenv。但是,当我尝试运行我的应用程序时,我收到错误 ImportError: No module named myapp.settings
这是我的username_pythonanywhere_com_wsgi.py
import os
import sys
# add your project directory to the sys.path
project_home = u'/home/rhpt'
if project_home not in sys.path:
sys.path.append(project_home)
# set environment variable to tell django where your settings.py is
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
# serve django via WSGI
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
我也试过myapp.my_app.settings,但没有成功。
我的树
myapp
├── my_app
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── get_data
│ ├── __init__.py
│ ├── admin.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
└── manage.py
【问题讨论】:
-
只是为了澄清——当你说你的
wsgi.py时,你的意思是从PythonAnywhere“Web”选项卡链接到的WSGI文件(可能实际上称为yourusername_pythonanywhere_com_wsgi.py或wsgi.py在您的 Django 代码树中?您提供的代码应该在前一个中。 -
PythonAnywhere“Web”选项卡中的 wsgi.py。我已经用澄清编辑了这个问题。
-
感谢更新!
-
因此,要调试它,请考虑如何导入设置模块。您的 Python 路径上有
/home/rhpt。而你的DJANGO_SETTINGS_MODULE是myapp.settings。这意味着您的设置将从文件/home/rhpt/myapp/settings.py加载。那肯定是你的设置吗? -
我的设置在
/home/rhpt/myapp/my_app/settings.py。但是,如果我更改 myapp.my_app.settings.py 的路径,我仍然会收到错误消息。
标签: pythonanywhere