Django - 模板上的 Pysftp 身份验证错误
Django - Pysftp authentication error on template
我正在尝试解决这个问题,但不知道如何解决。
我正在使用 pysftp
开发 Django。问题是如果一切正常,什么也不会发生,但是如果我输入了错误的 host
、usuario
或 clave
。如果我在输入错误的 host
、 usuario
或 [=14 时打开 Django 控制台,我仍然得到 Success
而不是 Error. Something Failed.
或 Authentication Failed
=].
我怎样才能让它在两个地方都出现 Authentication failed
错误? Django 控制台和 Django webapp?
谢谢..!!
这是我的:
def sftp_form(request):
if request.method == 'POST':
form = sftpForm(request.POST or None)
if form.is_valid():
data = form.cleaned_data
host = data['host']
usuario = data['usuario']
clave = data['clave']
print host
print usuario
print clave
try:
SFTP_bajar(host,usuario,clave)
messages.success(request,' Success')
return redirect('auth_login')
except:
messages.error(request, 'Error. Something Failed.')
else:
form=sftpForm()
return render(request, 'sftp.html', {'form':form})
def SFTP_bajar(host,usuario,clave):
try:
transferencia = sftp.Connection(host=host, username=usuario, password=clave)
remotepath= 'myremotepath'
localpath="mylocalpath"
print ('\n' + 'Success')
except Exception, e:
print str(e)
不要在 SFTP_bajar
中捕获任何异常
def SFTP_bajar(host,usuario,clave):
transferencia = sftp.Connection(host=host, username=usuario, password=clave)
remotepath= 'myremotepath'
localpath="mylocalpath"
print ('\n' + 'Success')
# here do whatever you have to do on your sftp server
然后在您的 sftp_form 视图中更改捕获异常的方式。你必须永远不要做的一件事是像你正在做的那样捕获广泛的异常并忽略它。抓住特定的。
from pysftp import AuthenticationException
try:
SFTP_bajar(host,usuario,clave)
messages.success(request,' Success')
return redirect('auth_login')
except AuthenticationException:
messages.error(request, 'Authentication failed')
except :
import traceback
traceback.print_exc()
我正在尝试解决这个问题,但不知道如何解决。
我正在使用 pysftp
开发 Django。问题是如果一切正常,什么也不会发生,但是如果我输入了错误的 host
、usuario
或 clave
。如果我在输入错误的 host
、 usuario
或 [=14 时打开 Django 控制台,我仍然得到 Success
而不是 Error. Something Failed.
或 Authentication Failed
=].
我怎样才能让它在两个地方都出现 Authentication failed
错误? Django 控制台和 Django webapp?
谢谢..!!
这是我的:
def sftp_form(request):
if request.method == 'POST':
form = sftpForm(request.POST or None)
if form.is_valid():
data = form.cleaned_data
host = data['host']
usuario = data['usuario']
clave = data['clave']
print host
print usuario
print clave
try:
SFTP_bajar(host,usuario,clave)
messages.success(request,' Success')
return redirect('auth_login')
except:
messages.error(request, 'Error. Something Failed.')
else:
form=sftpForm()
return render(request, 'sftp.html', {'form':form})
def SFTP_bajar(host,usuario,clave):
try:
transferencia = sftp.Connection(host=host, username=usuario, password=clave)
remotepath= 'myremotepath'
localpath="mylocalpath"
print ('\n' + 'Success')
except Exception, e:
print str(e)
不要在 SFTP_bajar
def SFTP_bajar(host,usuario,clave):
transferencia = sftp.Connection(host=host, username=usuario, password=clave)
remotepath= 'myremotepath'
localpath="mylocalpath"
print ('\n' + 'Success')
# here do whatever you have to do on your sftp server
然后在您的 sftp_form 视图中更改捕获异常的方式。你必须永远不要做的一件事是像你正在做的那样捕获广泛的异常并忽略它。抓住特定的。
from pysftp import AuthenticationException
try:
SFTP_bajar(host,usuario,clave)
messages.success(request,' Success')
return redirect('auth_login')
except AuthenticationException:
messages.error(request, 'Authentication failed')
except :
import traceback
traceback.print_exc()