revere功能有什么问题?

时间:2019-05-24 09:39:05

标签: django exception reverse

Django向我抛出了一个NoReverseMatch函数,但我找不到原因。

我确实检查了我是否正确使用了反向功能,看来确实如此。我还认为这不是我创建的自定义转换器,因为它引发了NoReverseMatch异常。

我的表格.py:

    #some link creation function
    link = reverse("activate", 
        kwargs={"key":key, "usermail":self.cleaned_data['email']}
        )
    #sending the link to a user

root urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('accounts.urls')),
    path('accounts/', include('django.contrib.auth.urls')),
    path('', TemplateView.as_view(template_name='home.html'), name='home'),
]

accounts.urls.py

    path('activate/<key:user_key>/<mail:usermail>', 
        views.activate, 
        name="activate"
        ),
]

我只是期望它可以创建链接的这一美妙片段,而我找不到我做错了什么。也许我看错地方了,也许是集成错误,我不知道。非常感谢您的帮助。

编辑:添加了根urls.py

1 个答案:

答案 0 :(得分:0)

您应该在URL包含

中使用命名空间
path('accounts/', include('accounts.urls', namespace='accounts')),

以及您的 forms.py

link = reverse("accounts:activate", 
        kwargs={"user_key":key, "usermail":self.cleaned_data['email']}
        )