gpt4 book ai didi

python - django 身份验证 URL 的默认命名空间是什么?

转载 作者:行者123 更新时间:2023-12-04 17:05:44 28 4
gpt4 key购买 nike

我更改了我的应用程序的 urls.py拥有一个命名空间 app_name = 'somename' .然后做了这些,

  • 已更改 reverse('url-name')reverse('somename:url-name') .
  • 已更改 {% url 'url-name' %}{% url 'somename:url-name' %} .
  • 改了 {% if request.resolver_match.url_name == "url-name" %}{% if request.resolver_match.url_name == "somename:url-name" %} .

  • 对于 accounts应用程序,我只有两个自定义 View loginsignup .所以一个 reverse喜欢 reverse('accounts:login')正在工作,但 reverse('accounts:password_reset') (默认 django 身份验证的一部分)不起作用。

    这是我尝试过的,
  • 已替换 reverse('accounts:password_reset')reverse('auth:password_reset') .
  • 已替换 reverse('accounts:password_reset')reverse('password_reset') .

  • 解决方案 1 不起作用。解决方案 2 有效。我也试过改变 path('accounts/', include('django.contrib.auth.urls'))在我的项目中 urls.pypath('accounts/', include('django.contrib.auth.urls', namespace='auth'))path('accounts/', include('django.contrib.auth.urls, namespace='accounts')) .都没有工作。

    项目/urls.py

    urlpatterns = [
    path('', include('core.urls')),
    path('admin/', admin.site.urls),
    path('accounts/', include('accounts.urls')),
    path('accounts/', include('django.contrib.auth.urls')),
    path('books/', include('library.urls'))
    ]

    帐户/urls.py

    app_name = 'accounts'
    urlpatterns = [
    path('signup/', views.CustomSignup.as_view(), name='signup'),
    path('login/', views.CustomLogin.as_view(), name='login'),
    ]

    为什么要命名空间 password_resetaccountsauth失败?是否有可以使用默认命名空间的文档页面?

    最佳答案

    据我所知,通过阅读源代码,它们根本没有命名空间,您通常只能像现在一样通过名称来引用它们。

    如果你想让它们命名空间,你可以将它们包含在你的 accounts 中。 ' urlpatterns , 而不是您的项目并手动添加命名空间:

    app_name = 'accounts'
    urlpatterns = [
    path('signup/', views.CustomSignup.as_view(), name='signup'),
    path('login/', views.CustomLogin.as_view(), name='login'),
    path('', include('django.contrib.auth.urls', namespace='accounts')),
    ]

    关于python - django 身份验证 URL 的默认命名空间是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62192132/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com