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

PythonAnywhere部署Django项目时出现ImportError: No module named 'filebrowser'

解决Django 1.11 + django-filebrowser部署的两大问题

让我们一步步拆解你遇到的问题,先搞定最核心的ImportError: No module named 'filebrowser',再处理URL配置里的"site未定义"错误。

一、解决模块找不到的ImportError

这个错误说明你的Python环境里压根找不到filebrowser模块,大概率是版本不兼容或者安装路径不对:

  1. 安装适配Django 1.11的filebrowser版本
    Django 1.11和Python3.5属于比较旧的技术栈,最新版的django-filebrowser已经不再支持它们了。你需要在PythonAnywhere的控制台里,先激活项目对应的虚拟环境(比如执行source ~/.virtualenvs/你的虚拟环境名/bin/activate),然后运行:
pip install django-filebrowser==3.11.2

这个版本是专门为Django1.11.x系列打造的,能完美兼容你的环境。

  1. 确认安装在正确的环境里
    执行pip freeze | grep filebrowser,如果输出里没有django-filebrowser==3.11.2,说明你可能在全局Python环境装了,或者没激活虚拟环境。一定要确保安装在项目的虚拟环境中,否则Django加载不到这个模块。

  2. 检查INSTALLED_APPS的配置
    打开settings.py,确认INSTALLED_APPS里已经正确添加了'filebrowser',顺序不用太纠结(如果你没装grappelli的话,直接加在其他应用后面就行):

INSTALLED_APPS = [
    # 你的其他应用,比如'django.contrib.admin'之类的
    'filebrowser',
    # 剩下的应用
]

二、解决"site未定义"的URL配置问题

在Django 1.11里配置filebrowser的URL,你得先导入它的site实例,再用Django1.11支持的url()方法来配置(别用Django2.0+的path())。修改项目根目录的urls.py:

# 首先导入filebrowser的site实例
from filebrowser.sites import site

urlpatterns = [
    # 你的其他URL配置,比如admin的路由
    url(r'^admin/', admin.site.urls),
    # 添加filebrowser的路由,注意用正则表达式格式
    url(r'^admin/filebrowser/', include(site.urls)),
]

之前的错误就是因为你没导入site就直接用了,现在加上导入语句就没问题了。


最后收尾步骤

  1. 重新收集静态文件(因为你用了WhiteNoise+CDN):
python manage.py collectstatic
  1. 去PythonAnywhere的Web标签页,点击"Reload"按钮重启你的Django应用,让所有配置生效。

如果还是有问题,记得去PythonAnywhere的错误日志里找更详细的报错信息——日志里的细节往往能帮你快速定位剩下的小问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:28:59