热门标签:
Q:

PythonAnywhere WSGI错误

尽管在过去的几周里我尽了最大的努力,但我一直坚持在Pythonanywhere上部署WSGI文件,同时试图建立一个django框架。 这里也有类似的话题,但没有一个适用于我的情况。

我正在关注本教程,我收到以下错误消息:

2017-03-04 22:28:05,284 :Error running WSGI application
2017-03-04 22:28:05,285 :ImportError: No module named 'mysite'
2017-03-04 22:28:05,285 :  File "/var/www/iamcsongor_pythonanywhere_com_wsgi.py", line 11, in <module>
2017-03-04 22:28:05,285 :    application = get_wsgi_application()
2017-03-04 22:28:05,285 :
2017-03-04 22:28:05,285 :  File "/home/iamcsongor/my-first-blog/myvenv/lib/python3.5/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
2017-03-04 22:28:05,285 :    django.setup(set_prefix=False)
2017-03-04 22:28:05,285 :
2017-03-04 22:28:05,285 :  File "/home/iamcsongor/my-first-blog/myvenv/lib/python3.5/site-packages/django/__init__.py", line 22, in setup
2017-03-04 22:28:05,286 :    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
2017-03-04 22:28:05,286 :
2017-03-04 22:28:05,286 :  File "/home/iamcsongor/my-first-blog/myvenv/lib/python3.5/site-packages/django/conf/__init__.py", line 53, in __getattr__
2017-03-04 22:28:05,286 :    self._setup(name)
2017-03-04 22:28:05,286 :
2017-03-04 22:28:05,286 :  File "/home/iamcsongor/my-first-blog/myvenv/lib/python3.5/site-packages/django/conf/__init__.py", line 41, in _setup
2017-03-04 22:28:05,287 :    self._wrapped = Settings(settings_module)
2017-03-04 22:28:05,287 :
2017-03-04 22:28:05,287 :  File "/home/iamcsongor/my-first-blog/myvenv/lib/python3.5/site-packages/django/conf/__init__.py", line 97, in __init__
2017-03-04 22:28:05,287 :    mod = importlib.import_module(self.SETTINGS_MODULE)

这是我的WSGI文件:

import os

import sys

path = '/home/iamcsongor/my-first-blog/firstweb'  # use your own PythonAnywhere username here
if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())

我已经采取了一些代码截图Git Repo,如果你能提供帮助,我将不胜感激。 谢谢

原网址
A:

正如错误所说,您的DJANGO_SETTINGS_MODULE环境变量设置为"mysite",但该目录不存在。 您的设置文件实际上似乎在"firstweb"中。

所有回答

共 1 条

author avatar

跟着它

首先将环境变量保存到a中。项目文件夹中的env文件 你可以在Bash控制台中运行这样的东西,或者编辑。env文件直接使用我们的"文件"选项卡:

cd ~/my-project-dir

echo "export SECRET_KEY=sekritvalue" >> .env

echo "export OTHER_SECRET=somethingelse" >> .env

将python-dotenv安装到您的virtualenv中 工作我的虚拟环境名称

pip install python-dotenv

或者,如果您没有使用virtualenv:

pip3.6 install --user python-dotenv

并且(可选)将其添加到您的需求中。txt,如果你使用一个:

echo python-dotenv >> requirements.txt

并在get_wsgi_application()之前的wsgi文件中

import os

from dotenv import load_dotenv

project_folder = os.path.expanduser('~/my-project-dir')  # adjust as appropriate

load_dotenv(os.path.join(project_folder, '.env'))

并在setting.py 文件和删除密钥,并把

import os

SECRET_KEY = os.getenv("SECRET_KEY")

最后,在bash控制台中做

set -a; source ~/my-project-dir/.env; set +a

echo 'set -a; source ~/my-project-dir/.env; set +a' >> ~/.virtualenvs/my-project-virtualenv/bin/postactivate

全部完成删除wsgi相关错误

相似问题