![](/img/trans.png)
[英]Django Python - No connection could be made because the target machine actively refused it
[英]No connection could be made because the target machine actively refused it (Django)
我一直关注Django Book直到第七章,我目前正在搞乱 forms、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),但我仍然得到看起来相同的错误。
我设法找出问题所在(不感谢错误消息)。 事实证明,我需要设置我的电子邮件服务器:
请注意,为了使用 send_mail() 发送电子邮件,您的服务器必须配置为发送邮件,并且必须告知 Django 您的出站电子邮件服务器。 有关详细信息,请参阅http://docs.djangoproject.com/en/dev/topics/email/ 。
我想我很少想到它的含义,但我被指向了本指南的方向,事情最终开始点击。
感谢大家提出建议。 这是一条无用的错误信息,我只能假设帮助我的人只知道答案,因为他们经历过完全相同的事情。
我在尝试使用django.core.mail.send_mail
遇到此错误。 我只需要这个来完成一些教程。 我不需要它来实际发送邮件。
我的解决方案是将这个变量添加到settings.py
:
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
它将 email 的内容发送到控制台 output ,考虑到我正在做的事情,这是完美的。
文档: https://docs.djangoproject.com/en/1.7/topics/email/#django.core.mail.backends.smtp.EmailBackend
在 settings.py 中,对于控制台 output,您需要
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
适用于 smtp
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
10061 不是端口号,这是错误号。 您想打开端口 8000。
对于因使用错误端口而遇到相同问题的人,请参阅此答案: 无法建立连接,因为目标机器主动拒绝了它
如果您使用的是 gmail,则必须解锁验证码以启用 Django 为您发送。
https://accounts.google.com/displayunlockcaptcha
我可以通过为我在应用程序中使用的 gmail 帐户解锁验证码来解决我的此类问题。您可以 go 到此链接以解锁验证码。
我希望这会很有用:)
代码尝试连接到http://127.0.0.1:8000/contact/ - 端口 8000 无法访问(防火墙)或没有服务器在运行。
我自己从未使用过 DJango 但从错误来看,没有服务器在端口 8000 侦听(或者某些防火墙/服务器限制阻止了本地主机上的端口 8000)
这可能是一个菜鸟错误,但我遇到了这个错误,因为我试图在基于函数的 View上调用 as_view() 。
错误案例:
urlpatterns = [
path('scratch/echo/', views.scratch_echo.as_view()),
]
工作案例:
urlpatterns = [
path('scratch/echo/', views.scratch_echo),
]
我想我只是从另一个教程中复制粘贴了基于类的视图的设置,而我的服务器停止运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.