哪个是作为参数的令牌的Django url regex?

2024-04-18 11:15:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的django服务器中激活我的用户,当他们使用令牌跟踪来自他们电子邮件的链接时,如下所示:

http://127.0.0.1:8000/user-activation/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImdhYm8iLCJ1c2VyX2lkIjoxOSwiZW1haWwiOiJsYXRvcnJlZ2FiQGdtYWlsLmNvbSIsImV4cCI6MTQ2NDE3ODk1N30.5FDKdxKxWuOkqe3rMNE-eHwmtrlWpD7EZ-EXw0yQM3U/

我有这个模式

^{pr2}$

但它返回404。我找了很多东西,似乎什么也没用。我做错什么了?在

我在阅读中找不到任何有效的答案

https://docs.djangoproject.com/es/1.9/ref/urls/

也没有

https://docs.djangoproject.com/es/1.9/topics/http/urls/

编辑:

我看过那篇文章

Learning Regular Expressions

但是没有一个同时接收连字符和圆点的例子,这就是引起我困惑的原因。在

我的答案解决了问题。谢谢


Tags: django答案用户https服务器comhttpdocs
2条回答

您的令牌还包括.-字符,因此您需要您的正则表达式来匹配它们-它目前只匹配单词字符

url(r'^user-activation/(?P<id>[\w\.-]+)/', views.UserActivation.as_view()),

python regex中的\w将匹配任何字母数字字符和下划线;这相当于集合[a-zA-Z0-9_]。你有各种各样的字符,比如.-不匹配,它肯定会失败。在

您需要[\w.-]来包含它们。在

检查regex syntax上的python doc。在

相关问题 更多 >