你对django来说绝对是新手,现在我要为内置重置密码视图。。
我按照link链接进行操作
但是当我点击/ 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 '^账户/ password_reset $', 'django.contrib.auth.views.password_reset'中, 'TEMPLATE_NAME': '用户/ password_reset_form.html','email_template_name ':' 用户/ 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 %}
我在“用户”文件夹中添加必要的模板。
请帮助我,提前致谢。
答案 0 :(得分:0)
正如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()
答案 1 :(得分:-1)
您收到的错误是连接错误 - 这意味着您用于运行Django站点的服务器可能无法正常运行。以下是您可以在Django服务器上尝试的一些内容:
python manage.py runserver
运行Django网站,则可以尝试重新运行该命令。如果这些都不起作用,发表评论并让我知道您正在运行网站的操作系统,以及您如何运行它,我们可以进行进一步的调试。