Python Django-模板上的PySTFP身份验证错误

Python Django-模板上的PySTFP身份验证错误,python,django,sftp,pysftp,Python,Django,Sftp,Pysftp,我试图解决这个问题,但我不知道如何解决 我正在Django上使用pysftp。问题是如果一切正常,除了输入错误的主机、usuario、或clave,什么都不会发生。我仍然获得了成功,而不是错误。有东西失败。或身份验证失败就像我在输入坏的主机、usuario或clave时打开Django控制台一样。 我如何才能在这两个地方都获得身份验证失败错误?Django控制台和Django webapp? 谢谢 以下是我所拥有的: def sftp_form(request): if request.

我试图解决这个问题,但我不知道如何解决

我正在Django上使用
pysftp
。问题是如果一切正常,除了输入错误的
主机
usuario
、或
clave
,什么都不会发生。我仍然获得了
成功
,而不是
错误。有东西失败。
身份验证失败
就像我在输入坏的
主机
usuario
clave
时打开Django控制台一样。 我如何才能在这两个地方都获得
身份验证失败
错误?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\u 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_表单视图中更改捕获异常的方式。有一件事你必须永远不要做,那就是像你正在做的那样捕捉广泛的异常并忽略它。捕捉特定的

        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()

非常感谢。但是我在
异常中有以下错误
<代码>未定义全局名称“AuthenticationException”
。。我如何解决这个问题?您需要导入它。我还以为你已经从Pystftpt进口了相关的东西呢。谢谢你,先生!