没有连接,因为目标机器主动拒绝它(Django)

时间:2011-07-21 21:01:10

标签: python django

我跟随Django Book直到第七章,我正在搞乱表格,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),但我仍然看到同样的错误。

7 个答案:

答案 0 :(得分:24)

我设法找出问题所在(不,谢谢错误信息)。事实证明,我需要设置我的电子邮件服务器:

  

请注意,为了使用send_mail()发送电子邮件,必须将服务器配置为发送邮件,并且必须告知Django您的出站电子邮件服务器。有关详细信息,请参阅http://docs.djangoproject.com/en/dev/topics/email/

我想我对它的含义几乎一无所知,但是我被指向this指南的方向,最终开始点击。

感谢所有人提出建议。这是一个无用的错误信息,我只能假设帮助我的人只知道答案,因为他们经历过完全相同的事情。

答案 1 :(得分:8)

我在尝试使用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

答案 2 :(得分:2)

10061不是端口号,这是错误号。您想要打开端口8000.

对于因使用错误端口而遇到同样问题的人,请参阅此答案:No connection could be made because the target machine actively refused it

答案 3 :(得分:1)

在settings.py中,对于控制台输出,您需要

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

对于smtp

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

另请参阅此文档 https://docs.djangoproject.com/en/1.6/topics/email/

答案 4 :(得分:0)

代码尝试连接到http://127.0.0.1:8000/contact/ - 端口8000无法访问(防火墙)或没有服务器正在运行。

答案 5 :(得分:0)

我自己从未使用过DJango但是从错误判断,没有服务器在端口8000监听(或者某些防火墙/服务器限制阻止了本地主机上的端口8000)

答案 6 :(得分:0)

  

如果您使用的是Gmail,则需要解锁验证码才能启用   Django将为您发送。https://accounts.google.com/displayunlockcaptcha

我可以通过解锁我在app中使用的gmail帐户的Captcha来解决此类问题。您可以在其他地方使用此link解锁验证码。

我希望这对gonn有用:)