Django 2.0: объединение path и re_path привело к ошибке NoReverseMatch

Используя path в проекте urls.py и используя re_path в приложении urls.py, я получил ошибку NoReverseMatch, мой проект urls.py:

from django.contrib import admin
from django.urls import path, include, re_path

urlpatterns = [
    path('user/', include('user.urls', namespace='user'))
]

Мое приложение urls.py:

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_account, name='activate'),
]

Я не могу получить правильный URL, сообщение об ошибке:

django.urls.exceptions.NoReverseMatch: Reverse for 'activate' with keyword arguments '{'uidb64': b'Mjc', 'token': '4tv-d4250012f57297ad82a6'}' not found. 1 pattern(s) tried: ['user\\/activate/(?P<uidb64>[0-9A-Za-z_\\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/']

person zeleven    schedule 20.02.2018    source источник


Ответы (1)


ну, вам нужно декодировать uuid перед отправкой на URL-адрес

нравится uuid.decode()

person Exprator    schedule 20.02.2018
comment
Это работает, но как я могу получить uid от uidb64? - person zeleven; 20.02.2018
comment
место, когда вы его используете, прежде чем положить его, просто используйте это - person Exprator; 20.02.2018