相关疑难解决方法(0)

带有关键字参数uidb64和Django 2.0的NoReverseMatch

我无法理解为什么我的代码不起作用.在它运行之前,但现在,当我运行服务器并进行测试时,代码不起作用.

当用户注册时,我发送激活邮件,如下所示:

def send_activation_email(serializer, request, user):
    current_site = get_current_site(request)
    message = render_to_string('acc_active_email.html', {
        'user': user,
        'domain': current_site.domain,
        'uid': urlsafe_base64_encode(force_bytes(user.pk)),
        'token': account_activation_token.make_token(user),
    })
    mail_subject = 'Activate your blog account.'
    to_email = serializer.data['email']

    email = EmailMessage(mail_subject, message, to=[to_email])
    email.send()
Run Code Online (Sandbox Code Playgroud)

acc_active_email.html

{% autoescape off %}
Hi {{ user.username }},
Please click on the link to confirm your registration,

http://{{ domain }}{% url 'activate' uidb64=uid token=token %}
{% endautoescape %}
Run Code Online (Sandbox Code Playgroud)

和我的网址文件

.
.
    url(r'^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'),
.
.
Run Code Online (Sandbox Code Playgroud)

但我有这个错误:

Exception Type:     NoReverseMatch
Exception Value: …
Run Code Online (Sandbox Code Playgroud)

python django django-templates python-3.x django-2.0

16
推荐指数
2
解决办法
5695
查看次数