django - Django djoser 有两个相同的 url
问题描述
我正在阅读有关 Django 的 Djoser 框架。
我发现有两个 url 模式要包含,它们都是相同的:
urlpatterns = [
(...),
url(r'^auth/', include('djoser.urls')),
url(r'^auth/', include('djoser.urls.jwt')),
]
我以为 Django 总是拿第一场比赛
怎么可能选择第二条路径?
解决方案
您提供的 urlpatterns 是:
urlpatterns = [
(...),
url(r'^auth/', include('djoser.urls')),
url(r'^auth/', include('djoser.urls.jwt')),
]
从函数的使用include
可以看出,这些模式只是包含了其他模式。请参阅包括其他 URLconfs [Django 文档]。
如果我们查看来自'djoser.urls'
(GitHub)的 url,它们基本上看起来像:
router = DefaultRouter() router.register("users", views.UserViewSet) User = get_user_model() urlpatterns = router.urls
所以基本上使用include
this 最终会生成一堆看起来像的 url 模式auth/users/...
转到'djoser.urls.jwt'
(GitHub)中的模式:
urlpatterns = [ re_path(r"^jwt/create/?", views.TokenObtainPairView.as_view(), name="jwt-create"), re_path(r"^jwt/refresh/?", views.TokenRefreshView.as_view(), name="jwt-refresh"), re_path(r"^jwt/verify/?", views.TokenVerifyView.as_view(), name="jwt-verify"), ]
基本上以auth/jwt/create
等结尾。
从这个角度来看,模式显然不同,因此无需担心。
推荐阅读
- unix - 单行生成的 CAT EOF 运行失败
- vue.js - Nuxt 中间件在页面重新加载时不起作用
- facebook - Facebook Graph API 在尝试为帐户创建帖子时返回 200 状态代码
- function - RSHINY - 如何将 rhandsontable 写入 csv 文件?
- c++ - 调用 C++ 父类默认构造函数而不是参数化构造函数
- css - 如何在 R Shiny 中调整自定义值框的宽度?
- reactjs - 有没有办法让函数渲染的嵌套组件的引用冒泡?
- shell - Makefile,何时评估 $(shell cat file)?
- discord - 如何让我的 Discord 机器人在运行 join 命令时检查成员是否在语音频道中?
- php - 使用 PHP 将 JSON 数据导入数据库(MySQL)