首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoReverseMatch在/注册/注册

NoReverseMatch在/注册/注册
EN

Stack Overflow用户
提问于 2018-04-13 06:55:39
回答 1查看 916关注 0票数 1
代码语言:javascript
复制
Reverse for 'activate' with keyword arguments '{'uidb64': b'Mw', 'token': '4vb-698f794fd74543e1258f'}' not found. 1 pattern(s) tried: ['activate/(?P<uidb64>[0-9A-Za-z_\\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$']

模板/account_activation_email.html

代码语言:javascript
复制
{% autoescape off %}
Hi {{ user.username }},

Please click on the link below to confirm your registration:

http://{{ domain }}{% url 'activate' uidb64=uid token=token %}
{% endautoescape %}

在我的本地主机url上,它似乎运行得很好;但是当它在heroku被谴责的时候。它会抛出这个错误。

views.py

代码语言:javascript
复制
def activate(request, uidb64, token):
    try:
        uid = force_text(urlsafe_base64_decode(uidb64))
        user = User.objects.get(pk=uid)
    except (TypeError, ValueError, OverflowError, User.DoesNotExist):
        user = None

    if user is not None and account_activation_token.check_token(user, token):
        user.is_active = True
        user.profile.email_confirmed = True
        user.save()
        login(request, user)
        return redirect('home')
    else:
        return render(request, 'account_activation_invalid.html')

urls.py

代码语言:javascript
复制
url(r'^activate/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
        core_views.activate, name='activate'),
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-13 07:01:29

代码语言:javascript
复制
'uidb64': b'Mw'

这是一个byte code,但django需要一个string

因此,在view中,您要从其中发送uid

decodeuid.decode('utf-8')

然后将其发送到模板。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49810996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档