You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PythonAnywhere部署Django项目遇ModuleNotFoundError: No module named 'api.urls'

解决PythonAnywhere上Django项目的ModuleNotFoundError: 'api.urls'问题

1. 确认应用模块合法性

  • 检查api目录下是否存在__init__.py文件(空文件即可),没有的话创建一个——Python需要这个文件识别目录为可导入模块
  • 核对api/urls.py是否存在,文件名无拼写错误(注意Linux环境区分大小写,别把urls.py写成Urls.py)

2. 验证settings.py的应用注册

确保api已添加到INSTALLED_APPS列表:

INSTALLED_APPS = [
    # 其他默认应用
    'api',  # 名称必须和应用目录完全一致
]

3. 修正WSGI配置的路径设置

PythonAnywhere的WSGI文件必须正确指向项目根目录,示例配置如下(替换为你的实际路径):

import os
import sys

# 项目根目录(包含manage.py的目录)绝对路径
project_home = '/home/yourusername/your_project_name'
if project_home not in sys.path:
    sys.path.append(project_home)

# 指定settings模块,格式为「项目名.settings」
os.environ['DJANGO_SETTINGS_MODULE'] = 'your_project_name.settings'

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
  • 若使用虚拟环境,需在WSGI文件开头添加虚拟环境激活代码:
activate_this = '/home/yourusername/venv/bin/activate_this.py'
with open(activate_this) as file_:
    exec(file_.read(), dict(__file__=activate_this))

4. 检查主urls.py的路由引用

确认主项目urls.py中对api.urls的引用无错误:

from django.urls import path, include

urlpatterns = [
    # 其他路由
    path('api/', include('api.urls')),  # 应用名和目录名必须匹配
]

5. 确保依赖与环境正确

  • 在PythonAnywhere控制台激活虚拟环境,重新安装依赖:
source /home/yourusername/venv/bin/activate
pip install -r requirements.txt
  • 修改配置后,务必在PythonAnywhere的Web面板点击Reload按钮重启服务

内容的提问来源于stack exchange,提问作者Danial S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 06:10:01