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

Django CRM系统机构账号登录报错及页面渲染异常问题咨询

问题修复方案

1. 修复NoReverseMatch错误和登录跳转404问题

你首页路由挂载在/leads/前缀下,根路径/没有配置对应路由;原来的NoReverseMatch错误是因为你传入空字符串作为反向解析参数,找不到对应路由名导致的。修改login_handle中的跳转逻辑,两种方案二选一:

  • 方案一(推荐,使用路由名反向解析):
    修改跳转代码为:
    return redirect('index')
    
  • 方案二(硬编码路径):
    修改跳转代码为:
    return redirect('/leads/')
    

2. 修复超级用户登录提示需要机构实例问题

你的首页视图直接查询当前用户关联的Organization实例,超级用户默认没有关联该实例,需要在index视图中增加角色判断逻辑,示例代码如下:

def index(request):
    if not request.user.is_authenticated:
        return redirect('login_page')
    # 超级用户逻辑分支
    if request.user.is_superuser:
        # 此处补充超级用户仪表盘需要的全局数据
        context = {}
        return render(request, 'super_dashboard.html', context)
    # 机构账号判断分支
    try:
        org = Organization.objects.get(user=request.user)
        context = {"org": org}
        return render(request, 'org_dashboard.html', context)
    except Organization.DoesNotExist:
        # 坐席账号判断分支
        try:
            agent = Agent.objects.get(user=request.user)
            context = {"agent": agent, "org": agent.organization}
            return render(request, 'agent_dashboard.html', context)
        except Agent.DoesNotExist:
            return redirect('login_page')

3. 补充其他代码隐患修复

  • Agent模型的organization外键默认值设置错误,当前设置为空字符串不符合外键字段规范,修改为:
    organization = models.ForeignKey(Organization,on_delete=models.PROTECT,blank=True,null=True)
    
  • signup_handle视图中重复写了两次pass2 = request.POST.get('re_pass'),删除冗余的一行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:27:03