【问题标题】:Regex for Django signed tokenDjango 签名令牌的正则表达式
【发布时间】:2017-10-13 12:14:26
【问题描述】:

我使用 Django 创建了一个签名令牌,以便创建一个用于验证电子邮件地址的 URL。我现在需要确保我的 urlpattern 与 Django 创建的令牌匹配。

令牌是使用以下函数创建的:

from django.core import signing

def create_token(verify_code, partial_token):
   token = {
      'verify_code': verify_code,
      'partial_token': partial_token
   }
   return signing.dumps(token)

我有以下 url + 正则表达式:

url(r'^email/validation/(?P<signed_token>[^/]+)/$', core_views.email_validation,
    name='email_validation')

(?P&lt;signed_token&gt;[^/]+) 是拾取使用该函数创建的所有可能标记的正确正则表达式吗?

【问题讨论】:

  • 你的问题是什么?或者如果有错误?
  • 我的问题是 - 签名函数生成的令牌的正则表达式是否正确? (我对正则表达式非常缺乏经验)

标签: python regex django


【解决方案1】:

Django 生成的令牌将是一个 base 64 字符串。您可以 find a regex 专门匹配 base 64,但这是不必要的,除非您有其他可能与此冲突的 URL 模式(如果这样做,更好的解决方案是修改您的 URL 模式)。

您当前拥有的正则表达式只是捕获不是/ 的所有字符,应该可以正常工作。

【讨论】:

  • 太棒了,谢谢。我没有任何会与此冲突的 URL 模式,所以这是完美的。
猜你喜欢
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 2013-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-06
  • 1970-01-01
相关资源
最近更新 更多