2013-05-22 193 views
1

我遵循這個代碼:的Django忘記密碼

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. 

+2

你有什麼版本的Django?這聽起來像是你的模板中的'uidb36 = uid'和'token = token'之間的逗號問題 –

+0

我使用的是django 1.5 –

回答

4

刪除模板中uidb36=uidtoken=token之間的逗號。在Django 1.5,the comma's separating the url arguments aren't supported

In Django 1.5, the behavior of the url template tag will change ... The new library also drops support for the comma syntax for separating arguments to the url template tag.

+0

我刪除了逗號,但發現了這個錯誤:''url'需要非空的第一個論據。 Django 1.5中的語法已更改,請參閱文檔。「我該怎麼做? –

0

如果面對'url' requires a non-empty first argument. The syntax changed in Django 1.5, see the docs.簡單地把視圖/函數是在雙引號中的URL模板標籤的第一個參數。