首页 文章

django1.3中内置密码重置视图问题

提问于
浏览
0

嗨,这绝对是django的新手,现在我正在为内置 reset password view. 而努力 .
我按照链接link但是当我点击/ password_reset /上的重置密码按钮时出现错误:
error at /accounts/password_reset/
**[Errno 10061] No connection could be made because the target machine actively refused it.
Exception Location: C:\Python27\lib\socket.py in create_connection, line 571

'urls.py'**
(r'^accounts/password_reset$','django.contrib.auth.views.password_reset' ,'template_name':'user/password_reset_form.html','email_template_name':'user/password_reset_email.html'}),

(r '^accounts/password/reset/confirm/(?P[0-9A-Za-z]{1,13})-(?P[0-9Aa-z]{1,13}-[0-9A-Za-z]{1,20})/$', 'django.contrib.auth.views.password_reset_confirm' ,{'template_name':'user/password_reset.html','post_reset_redirect':'/logout/'}),

(r'^accounts/password_reset/done/$',<b>'django.contrib.auth.views.password_reset_done'</b>,{'template_name':'user/password_reset_done.html'}),


    (r'^accounts/change_password/$',<b> 'password_change'</b>, {'post_change_redirect' : '/accounts/change_password/done/'}),

    (r'^accounts/change_password/done/$',<b> 'password_change_done'</b>,{'template_name':'user/password_change_done.html'}),


<b>password_reset_email.html</b>


{% extends 'base.html'%}
{% block content%}
{% url django.contrib.auth.views.password_reset_confirm uidb36=uid, token=token %}
{% endblock %}

我在文件夹'user'中添加了必要的模板 .
请帮帮我,提前致谢 .

2 回答

  • -1

    正如rdegges所说,这是一个连接错误 . 检查请求尝试访问的端口,并确保将Windows防火墙设置为在该端口上接收 . 您可以通过浏览django的追溯页面并查看“本地变量”来检查端口 .

    从它的外观来看,它是一个电子邮件端口 . 再看一下回溯并注意django尝试向端口25发送请求 . 如果确实如此,请确保您的端口25配置为接收 .

    此外,您需要一个临时的SMTP服务器用于测试目的,因为您可能不希望使用真实的服务器 . 当您运行django时,只需在单独的命令提示符窗口中运行,并且django尝试通过端口25发送的任何电子邮件将保存在工作目录中的“email”文件夹中 .

    #/usr/bin/env python
    
    from datetime import datetime
    import asyncore
    from smtpd import SMTPServer
    
    class EmlServer(SMTPServer):
        no = 0
        def process_message(self, peer, mailfrom, rcpttos, data):
            filename = '%s-%d.eml' % (datetime.now().strftime('%Y%m%d%H%M%S'), self.no)
            f = open(filename, 'w')
            f.write(data)
            f.close()
            print '%s saved.' % filename
            self.no += 1
    
    
    def run():
        foo = EmlServer(('localhost', 25), None)
        try:
            asyncore.loop()
        except KeyboardInterrupt:
            pass
    
    
    if __name__ == '__main__':
    
        from os.path import exists, join
        from os import mkdir, chdir, getcwd
    
        target_directory = join( getcwd(), "emails" )
        if exists(target_directory):
            chdir(target_directory)
        else:
            try:
                mkdir(target_directory)
            except OSError:
                from sys import exit
                exit("The containing folder couldn't be created, check your permissions.")
            chdir(target_directory)
        print "Using directory %s" % target_directory
    
        run()
    
  • 0

    您得到的错误是连接错误 - 这意味着您用于运行Django站点的服务器可能无法正常工作 . 以下是您可以在Django服务器上尝试的一些内容:

    • 如果您通过 python manage.py runserver 运行Django站点,则可以尝试简单地重新运行该命令 .

    • 如果您是通过像apache这样的网络服务器运行您的网站,请尝试重新启动Apache .

    如果这些都不起作用,发表评论并让我知道您正在运行您的网站的操作系统,以及您如何运行它,我们可以进行进一步的调试 .

相关问题