Django学习按照书中内容,老是提示[WinError 10061] 由于目标计算机积极拒绝,无法连接。
这是找回密码的相关代码
#找回密码
def findPassword(request):
button = '获取验证码'
new_password = False
if request.method == 'POST':
username = request.POST.get('username', 'root')
VerificationCode = request.POST.get('VerificationCode', '')
password = request.POST.get('password', '')
user = User.objects.filter(username=username)
# 用户不存在
if not user:
tips = '用户' + username + '不存在'
else:
#判断验证码是否已发送
if not request.session.get('VerificationCode', ''):
# 发送验证码并将验证码写入session
button = '重置密码'
tips = '验证码已发送'
new_password = True
VerificationCode = str(random.randint(1000, 9999))
request.session['VerificationCode'] = VerificationCode
user[0].email_user('找回密码', VerificationCode)
# 匹配输入的验证码是否正确
elif VerificationCode == request.session.get('VerificationCode'):
# 密码加密处理并保存到数据库
dj_ps = make_password(password, None, 'pbkdf2_sha256')
user[0].password = dj_ps
user[0].save()
del request.session['VerificationCode']
tips = '密码已重置'
# 输入验证码错误
else:
tips = '验证码错误,请重新获取'
new_password = False
del request.session['VerificationCode']
return render(request, 'findPassword.html', locals())
报错信息如下:
Internal Server Error: /user/findPassword.html
Traceback (most recent call last):
File "D:\Anaconda\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "D:\Anaconda\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\admin\Desktop\python\MyDjango\user\views.py", line 100, in findPassword
user[0].email_user('找回密码', VerificationCode)
File "D:\Anaconda\lib\site-packages\django\contrib\auth\models.py", line 386, in email_user
send_mail(subject, message, from_email, [self.email], **kwargs)
File "D:\Anaconda\lib\site-packages\django\core\mail\__init__.py", line 61, in send_mail
return mail.send()
File "D:\Anaconda\lib\site-packages\django\core\mail\message.py", line 284, in send
return self.get_connection(fail_silently).send_messages([self])
File "D:\Anaconda\lib\site-packages\django\core\mail\backends\smtp.py", line 102, in send_messages
new_conn_created = self.open()
File "D:\Anaconda\lib\site-packages\django\core\mail\backends\smtp.py", line 62, in open
self.connection = self.connection_class(self.host, self.port, **connection_params)
File "D:\Anaconda\lib\smtplib.py", line 1031, in __init__
source_address)
File "D:\Anaconda\lib\smtplib.py", line 251, in __init__
(code, msg) = self.connect(host, port)
File "D:\Anaconda\lib\smtplib.py", line 336, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "D:\Anaconda\lib\smtplib.py", line 1037, in _get_socket
self.source_address)
File "D:\Anaconda\lib\socket.py", line 728, in create_connection
raise err
File "D:\Anaconda\lib\socket.py", line 716, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
[18/Mar/2022 11:18:53] "POST /user/findPassword.html HTTP/1.1" 500 117286
我应该怎么调整呢?