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

Django新手求助:配置/user-auth/register/路径的URL问题

解决Django URL配置问题,实现/user-auth/register/路径

嘿,别担心,我来帮你搞定这个URL配置问题!要实现http://localhost:8000/user-auth/register/这个路径,只需要对主项目和应用的urls.py做两处简单修改就行:

第一步:修改user_auth应用的urls.py

你当前应用里的URL规则url(r'^register$', views.register)匹配的是不带尾斜杠的register,而我们需要的是带尾斜杠的register/。另外,Django 2.0+推荐使用更简洁的path(不用写正则),所以可以把应用的urls.py改成这样:

from django.urls import path
from . import views

urlpatterns = [
    path('register/', views.register, name='register'),
]

如果你坚持想用旧的url(正则方式),也可以把正则调整为r'^register/$',确保匹配尾斜杠:

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^register/$', views.register),
]

第二步:在主项目urls.py中注册user-auth路径

现在需要把user-auth/前缀和你的user_auth应用关联起来。打开主项目的urls.py,添加一条path规则:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('polls/', include('polls.urls')),  # 保留你原来的polls条目
    path('user-auth/', include('user_auth.urls')),  # 新增这一行!
]

为什么这样配置?

  • 主项目的path('user-auth/', include('user_auth.urls'))会把所有以user-auth/开头的请求转发给user_auth应用的URL配置。
  • 应用里的path('register/', ...)会匹配user-auth/后面的register/部分,两者组合起来就是你想要的user-auth/register/路径啦。

另外提一句:Django默认开启了APPEND_SLASH设置(在settings.py里),如果用户访问不带尾斜杠的user-auth/register,Django会自动重定向到带斜杠的版本,但我们直接配置正确的路径更规范哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:45:09