PythonAnywhere部署Django报mysite模块未找到及静态文件丢失问题求助
问题解决指南
1 ModuleNotFoundError: No module named 'mysite' 修复步骤
- 修正WSGI文件语法错误:你当前提供的WSGI配置缺少基础导入语句,且首尾存在多余的大括号,替换为以下正确代码:
import sys import os path = '/home/divyanshu964/portfolio/Personal_portfolio/' if path not in sys.path: sys.path.insert(0, path) os.environ['DJANGO_SETTINGS_MODULE'] = 'Personal_portfolio.settings' from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
- 检查项目核心配置文件:依次查看
manage.py、项目包下的settings.py、原生wsgi.py文件,确认所有DJANGO_SETTINGS_MODULE的赋值均为Personal_portfolio.settings,没有残留默认的mysite.settings配置。 - 验证运行环境匹配:进入PythonAnywhere的Web管理页,确认你选择的Python版本和项目开发用版本一致,若使用虚拟环境,确认虚拟环境路径配置正确,且所有项目依赖均已安装到对应环境中。
- 核对目录结构:确认
/home/divyanshu964/portfolio/Personal_portfolio/路径下存在包含__init__.py、settings.py的Personal_portfolio子包,路径层级和拼写无错误。
2 静态文件无法加载修复步骤
- 先确认
settings.py中静态文件配置正确,示例配置如下:
STATIC_URL = '/static/' # 静态文件收集目录,可根据你的实际路径调整 STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
- 在PythonAnywhere的控制台进入项目根目录,执行静态文件收集命令:
python manage.py collectstatic,执行时输入yes确认操作,所有静态资源会自动聚合到STATIC_ROOT对应的目录下。 - 进入PythonAnywhere的Web管理页,找到「Static files」配置区域,新增映射规则:URL栏填
/static/,路径栏填你STATIC_ROOT对应的绝对路径,比如/home/divyanshu964/portfolio/Personal_portfolio/staticfiles/。 - 所有配置修改完成后,点击Web管理页顶部的重载按钮重启站点,刷新页面验证效果。
内容的提问来源于stack exchange,提问作者Divyanshu Raghuwanshi
相关产品推荐
相关产品推荐

