在django-rest-auth中,密码重置确认URL不起作用 - 是否缺少参数?

时间:2017-04-26 05:28:30

标签: django django-rest-framework django-rest-auth

如果您查看django.contrib.auth.urls中的urlpatterns,password_reset_confirm网址需要uidb64token参数,这是有道理的 - 点击后,这将识别用户重置密码。但是,django-rest-auth的{​​{1}}网址不带任何参数:它只是rest_password_reset_confirm。它怎么样?提交我的电子邮件以重置密码时出现以下500错误,我并不感到惊讶 - 错误有意义:

password/reset/confirm/

我不明白的是,我必须做出错误似乎是一件基本的事情 - 否则每个使用NoReverseMatch: Reverse for 'password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb64': 'NA', u'token': u'4lj-65cd7b4219c9206126b4'}' not found. 的人都会收到此错误,因为URL定义中明显缺少参数。有没有其他人经历过它,如果有,你是否更新了URL来修复它?

更新:默认情况下,django-rest-auth似乎只使用原生Django的django-rest-auth模板。

2 个答案:

答案 0 :(得分:3)

原来这是一个简单的one-line fix - 将其添加到您的基本网址模式中:

url(r'^', include('django.contrib.auth.urls')),

答案 1 :(得分:0)

我在模板中使用过一次:

T remove(Node<T> x) { // assert x != null; final T element = x.data; final Node<T> next = x.next; final Node<T> prev = x.prev; if (prev == null) { //if x is first node(head) first = next; } else { // link x.next to x.prev.next prev.next = next; //unlink x x.prev = null; } if (next == null) { //if x is last node(tail) last = prev; } else { // link x.prev to x.next.prev next.prev = prev; //unlink x x.next = null; } // reset data x.data = null; size--; return element; }

而且,它运作正常。你能否请出示你的模板包含结构?