1

我遵循以下代码:

http://drumcoder.co.uk/blog/2010/apr/09/django-reset-password/

但是当我运行时出现此错误:

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  115.                         response = callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/utils/decorators.py" in _wrapped_view
  91.                     response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/views.py" in password_reset
  161.             form.save(**opts)
File "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/forms.py" in save
  260.             email = loader.render_to_string(email_template_name, c)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in render_to_string
  170.         t = get_template(template_name)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in get_template
  146.     template, origin = find_template(template_name)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in find_template
  135.             source, display_name = loader(name, dirs)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in __call__
  43.         return self.load_template(template_name, template_dirs)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in load_template
  49.             template = get_template_from_string(source, origin, template_name)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in get_template_from_string
  157.     return Template(source, origin, name)
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in __init__
  125.         self.nodelist = compile_string(template_string, origin)
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in compile_string
  153.     return parser.parse()
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in parse
  274.                     compiled_result = compile_func(self, token)
File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in autoescape
  498.     nodelist = parser.parse(('endautoescape',))
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in parse
  274.                     compiled_result = compile_func(self, token)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py" in do_block
  190.     nodelist = parser.parse(('endblock',))
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in parse
  274.                     compiled_result = compile_func(self, token)
File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py" in url
  1286.                 kwargs[name] = parser.compile_filter(value)
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in compile_filter
  353.         return FilterExpression(token, self)
File "/usr/local/lib/python2.7/dist-packages/django/template/base.py" in __init__
  570.                                       "from '%s'" % (token[upto:], token))

Exception Type: TemplateSyntaxError at /accounts/password/reset/
Exception Value: Could not parse the remainder: ',' from 'uid,'

我该如何解决这个错误?

编辑:

我将其更改为,{{ protocol }}://{{ domain }}{% url 'django.contrib.auth.views.password_reset_confirm' uidb36=uid token=token %}但出现此错误:

Reverse for 'django.contrib.auth.views.password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb36': u'1', u'token': u'3ho-bd57a871a2fe3a4987ef'}' not found.

?

4

2 回答 2

4

删除模板之间uidb36=uid和中的逗号。token=token在 Django 1.5 中,不支持逗号分隔 url 参数

在 Django 1.5 中,url 模板标签的行为将会改变……新库也不再支持逗号语法来分隔 url 模板标签的参数。

于 2013-05-22T15:51:51.190 回答
0

如果面对'url' requires a non-empty first argument. The syntax changed in Django 1.5, see the docs.简单地将作为 url 模板标签的第一个参数的视图/函数放在双引号中。

于 2013-07-03T20:55:13.213 回答