繁体   English   中英

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

[英]builtin password reset view problem in django1.3

嗨,django绝对是新手,现在我正在尝试内置的重置密码视图。
我按链接链接,但是单击/ password_reset /上的重置密码按钮时出现错误:
/ 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'^帐户/密码/重置/确认/(?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 %}

我在“用户”文件夹中添加了必要的模板。
请帮助我,谢谢。

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

从外观上看,它是一个电子邮件端口。 再看一下回溯并查找django,尝试将请求发送到端口25。如果有,请确保将端口25配置为接收。

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

#/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()

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

  • 如果您通过python manage.py runserver运行Django站点,则可以尝试简单地重新运行该命令。
  • 如果您是通过apache之类的网络服务器运行站点的,请尝试重新启动apache。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM