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

Djoser+Vue注册请求404:/api/v1/users路径匹配失败求助

POST 请求 /api/v1/users 返回404错误排查方案

向/api/v1/users发送POST请求时返回404错误,尝试改用re_path无效,前端提交后无法跳转至localhost:8080/log-in。

错误日志

Not Found: /api/v1/users
[15/Oct/2023 22:30:42] "POST /api/v1/users HTTP/1.1" 404 7646

Django URL配置(urls.py)

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/v1/', include('djoser.urls')),
    path('api/v1/', include('djoser.urls.authtoken'))
]

前端SignUpView.vue相关代码

methods: {
    submitFrom(e) {
        const formData = {
            username: this.username,
            password: this.password
        }

        axios
            .post("/api/v1/users", formData)
            .then(response => {
                console.log(response)

                this.$router.push('log-in')
            })

错误截图

  • 注册时显示错误:注册时显示错误
  • 页面未找到(404):页面未找到(404)

排查与解决方案

  1. 修正请求URL的斜杠
    Djoser默认的用户注册端点是/api/v1/users/(末尾带斜杠),你的请求URL缺少斜杠。Django默认的APPEND_SLASH机制在跨域场景下可能无法自动重定向,修改前端请求代码:
axios.post("/api/v1/users/", formData)
  1. 确认Djoser与DRF配置
    检查settings.py是否正确注册相关应用并配置认证:
INSTALLED_APPS = [
    # 其他应用
    'rest_framework',
    'rest_framework.authtoken',
    'djoser',
]

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.TokenAuthentication',
    ),
}
  1. 验证已注册路由
    安装django-extensions后运行python manage.py show_urls,查看输出中是否存在/api/v1/users/的POST路由。如果不存在,检查Djoser版本是否与教程一致,不同版本的路由结构可能有差异。

  2. 配置跨域支持
    前端运行在localhost:8080、后端在localhost:8000时,需安装django-cors-headers并配置:

INSTALLED_APPS = [
    # 其他应用
    'corsheaders',
]

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 其他中间件
]

CORS_ALLOWED_ORIGINS = [
    "http://localhost:8080",
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 08:40:23