【问题标题】:Django Save Path into VariableDjango 将路径保存到变量中
【发布时间】:2021-10-31 06:59:27
【问题描述】:

我有一个传递我需要的 URL 的 django 路径,但我想将它存储到一个变量中,我可以在邮件 API 中使用该路径是: path('activate/(<uidb64>[0-9A-Za-z_\-]+)/(<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})', views.activate, name='activate'),

"uid": urlsafe_base64_encode(force_bytes(account.pk)),
'token': password_reset_token.make_token(account),

我希望字符串具有类似于以下的值:http://127.0.0.1:8000/auth/activate/(NDM%5B0-9A-Za-z_%5C-%5D+)/(as9osn-a59ae3d7196bb1fa693e770fb87f19c1%5B0-9A-Za-z%5D%7B1,13%7D-%5B0-9A-Za-z%5D%7B1,20%7D)

我收到了这个:http://127.0.0.1:8000/auth/activate/NTQ/asbda1-165d68dbe6fee8c47f5099c4ab709c48

【问题讨论】:

    标签: django django-urls


    【解决方案1】:

    您使用的是正则表达式语法而不是路径语法。因此,您应该使用re_path(…) function [Django-doc] 来指定正则表达式,或将其转换为路径语法。因此,我们可以通过以下方式实现:

    from django.urls import re_path
    
    urlpatterns = [
        # ⋮,
        re_path('activate/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', views.activate, name='activate'),
        # &vellip;
    ]

    【讨论】:

      猜你喜欢
      • 2014-12-30
      • 2011-09-04
      • 1970-01-01
      • 2021-02-07
      • 1970-01-01
      • 2021-11-21
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      相关资源
      最近更新 更多