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

Django访问/admin/signup出现404错误,求适配GET方法的解决方案

解决Django /admin/signup GET请求404错误

核心原因

Django自带的admin后台没有/admin/signup这个默认路径,你访问的是一个不存在的admin子路由,因此触发catch_all_view抛出404错误。

适配GET请求的解决办法

方案1:自定义admin路径下的注册页面

如果需要在admin路由下添加注册功能,手动配置路由和视图:

  1. 在项目根目录的urls.py中,在admin路由前添加自定义signup路由:
from django.contrib import admin
from django.urls import path
from .views import admin_signup  # 导入你编写的注册视图

urlpatterns = [
    path('admin/signup/', admin_signup, name='admin_signup'),
    path('admin/', admin.site.urls),
]
  1. 编写处理GET请求的视图函数(示例):
from django.shortcuts import render

def admin_signup(request):
    if request.method == 'GET':
        # 渲染注册页面模板
        return render(request, 'admin_signup.html')
    # 如需处理POST提交逻辑可后续补充
  1. 创建对应的admin_signup.html模板文件。

方案2:使用Django自带的用户注册视图

无需在admin路径下的话,直接用Django auth模块的注册视图:
在urls.py中添加:

from django.contrib.auth import views as auth_views
from django.urls import path

urlpatterns = [
    # 其他路由...
    path('signup/', auth_views.RegisterView.as_view(template_name='signup.html'), name='signup'),
]

访问http://127.0.0.1:8000/signup即可,该视图默认支持GET请求渲染注册页面。

方案3:纠正访问路径

如果你的目标是admin登录页,正确路径是/admin/(不带signup),直接访问http://127.0.0.1:8000/admin/即可进入登录界面。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 11:07:01