Django Сохранение пути в переменную

У меня есть django path, который передает нужный мне URL, но я хочу сохранить его в переменной, которую я могу использовать в почтовом 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

Вы используете regex-синтаксис вместо синтаксиса пути. Поэтому вам следует использовать функцию re_path(…) [Django-doc] для задания regex или преобразования его в синтаксис пути. Таким образом, мы можем реализовать это с помощью:

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'),
    # ⋮
]
Вернуться на верх