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

已正确配置路径仍出现Not Found: /users/错误,寻求技术协助

路径配置正确但仍出现Not Found: /users/错误排查求助

已正确配置相关路径,但持续出现Not Found: /users/错误,恳请协助排查。以下是相关配置:

表单提交路径

<form method="post" action="/users/" id="archive-form">

JavaScript请求路径

fetch("/users/", {

urls.py配置

path("users/", views.users, name="users"),

views.py代码

def users(request):
    active_users = User.objects.filter(status='active')
    archive_users = User.objects.filter(status='archived')
    user_form = UserForm()

    if request.method == 'POST':

        user_form = UserForm(request.POST, request.FILES)
        if user_form.is_valid():
            user = user_form.save(commit=False)
            user.save()
            # log_message = f"Added user with ID {user.id}"
            Log.objects.create(user=user.first_name, role=user.job_title, date=timezone.now(), action=log_message)
        # return redirect('app:users')

        print('1')
        user_id = request.POST.get('user_id')
        user = get_object_or_404(User, id=user_id)
        if user:
            if user.status == 'active':
                user.status = 'archived'
                log_message = f"Archived user with ID {user_id}"
            elif user.status == 'archived':
                user.status = 'active'
                log_message = f"Unarchived user with ID {user_id}"
            user.save()
            Log.objects.create(user=user.first_name, role=user.job_title, date=timezone.now(), action=log_message)

        return redirect('app:users')

排查方向

  1. 核对URL路由层级
    • 确认path("users/",...)是写在项目根路由urls.py,还是app的子路由里。如果是app子路由,要检查根路由是否添加了path('app/', include('app.urls'))这类包含配置——要是没加,子路由的users/不会被注册到根路径下,直接访问/users/就会404。
  2. 验证路由是否实际注册
    • 开启DEBUG模式,访问404页面时,页面会列出所有已注册的路由表。看看/users/有没有出现在列表里,要是没有,说明路由配置根本没生效。
  3. 检查命名空间与路径匹配
    • 你在redirect里用了app:users,说明路由带命名空间。要确认app的urls.py里是否设置了app_name = 'app',同时表单、fetch的路径要和实际路由一致——如果实际路由是/app/users/,硬编码的/users/肯定会找不到。
  4. 简化测试定位问题
    • 把视图临时换成最简单的测试函数:
      def test_users(request):
          return HttpResponse("Test")
      
      然后替换urls里的对应项,再访问/users/。如果还是404,基本可以确定是路由层级的问题;如果能正常返回,再逐步恢复原有视图代码排查逻辑错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:19:57