【问题标题】:Django 2.0: combine path and re_path got NoReverseMatch error [duplicate]Django 2.0:组合路径和 re_path 得到 NoReverseMatch 错误 [重复]
【发布时间】:2018-07-30 15:23:24
【问题描述】:

在项目的urls.py 中使用path,在应用程序的urls.py 中使用re_path,我得到了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})/']

【问题讨论】:

    标签: python django python-3.x django-2.0


    【解决方案1】:

    你需要在发送到 url 之前解码 uuid

    点赞uuid.decode()

    【讨论】:

    • 它有效,但我怎样才能从uidb64 获得uid
    • 你使用的地方,放之前,就用那个
    猜你喜欢
    • 2018-12-17
    • 2018-04-21
    • 2018-02-07
    • 2018-11-16
    • 1970-01-01
    • 2023-03-29
    • 2021-05-24
    • 1970-01-01
    • 2015-10-24
    相关资源
    最近更新 更多