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

Django访问所有页面时报'TypeError: 'HttpResponseForbidden' object is not callable'如何解决

问题排查结果

直接触发报错的核心原因是 url 配置中视图函数引用错误,同时存在一个潜在的模型方法定义问题,修复方案如下:


1. 修复urls.py的视图引用错误

你的Users/views.py中定义的个人页视图函数名为小写的profile,但urls.py中引用时写为了大写开头的Profile,此时你实际引用到的是views.py中从models导入的Profile模型类,而非你写的视图函数,Django执行过程中异常流程返回的HttpResponseForbidden实例被当作可调用对象执行,触发报错。

修改urls.py中profile对应路径的配置:

# 错误写法
path('profile/', user_views.Profile, name="Profile_Page"),
# 替换为正确写法
path('profile/', user_views.profile, name="Profile_Page"),

2. 修复Profile模型的save方法定义问题

你重写的模型save方法没有接收Django默认传入的参数,后续执行模型保存操作时大概率会触发额外异常,修改为兼容参数的写法:

def save(self, *args, **kwargs):
    super().save(*args, **kwargs)     
    img = Image.open(self.image.path)
    if img.height > 300 and img.width > 300:
        output_size=(300,300)
        img.thumbnail(output_size)
        img.save(self.image.path)

验证操作

两处修改完成后重启Django服务,重新测试登录、访问个人页、注册等操作即可恢复正常。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:42:03