无法连接,目标机器主动拒绝了连接(Django)
我一直在跟着Django书学习,到了第七章,现在正在研究表单、GET、POST这些内容。有一段时间,指南让我弄清楚当填写完表单并发送后会发生什么,但当我发送表单数据时,出现了这个错误:
error at /contact/ [Errno 10061] No connection could be made because the target machine actively refused itRequest Method: POST Request URL: http://127.0.0.1:8000/contact/ Django Version: 1.3 Exception Type: error Exception Value: [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 Python Executable: C:\Python27\python.exe Python Version: 2.7.2
换句话说,在这之前我没有遇到过任何端口的问题。我刚刚在Windows防火墙中明确打开了10061端口,但看起来并没有什么用。(在我更改规则后,我关闭并重新打开了runserver
。)
我使用的是Windows 7,我的问题主要是想知道这个错误信息到底是什么意思,而不仅仅是如何解决它(当然,能解决最好)。
编辑:我还在Windows防火墙中转发了8000端口(适用于所有配置文件,TCP),但我仍然遇到看起来像是同样的错误。
8 个回答
2
10061 不是端口号,而是错误号。你需要打开的是 8000 端口。
可以看看这个回答,里面有一个人遇到了同样的问题,因为他们使用了错误的端口:无法连接,因为目标机器主动拒绝了连接
11
我在使用 django.core.mail.send_mail
的时候遇到了这个错误。我只是想通过一些教程来练习,并不需要真的发送邮件。
对我来说,解决这个问题的方法是在 settings.py
文件中添加一个变量:
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
这样做会把邮件的内容输出到 控制台,这正好符合我现在的需求。
文档链接: https://docs.djangoproject.com/en/1.7/topics/email/#django.core.mail.backends.smtp.EmailBackend