DJANGO html在运行python scrip后返回“none”

2024-09-30 22:15:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个DJANGO应用程序(kwtest),它有视图(a+b)和相关的URL。当我访问第一个kw\u dash(kw\u dash.html)URL并按下一个按钮时,它调用一个python脚本(从import)并将其返回到“return\u results”(script\u return.html)URL。功能正常,但在浏览器中“return\u results”的输出为“none”。脚本也是连续的,我只能终止SSH会话(目前)。我已经搜索了一段时间的结果和指导后(我是新的这)。非常感谢您的帮助

脚本在控制台中运行良好

kw\u dash.html

{% load staticfiles %}
<html>
   <body> 
    <div class=”button”>
    <a href={% url 'kwtest:remote_results' %}>Run_Results</a>
    </div>
    </body>
</html>

脚本\u return.html

<html>
    <head>
        <title>Remote Results</title>
    </head>

    <body>
    <div>
    <pre>{{ output }}</pre>
    </div>
    </body>
</html>

视图a

from django.shortcuts import render

def kw_dash(request):
    return render(request, 'kwtest/kw_dash.html', {})

视图B

#- * -coding: utf - 8 - * -
from django.shortcuts import render
from django.http import HttpResponse
from django.http import HttpResponseRedirect
import remote_results



def remote_results(request):
   import remote_results
   output = remote_results.remote_results()

   return render(request, 'kwtest/script_results.html', {
      'output': output
})

远程\u results.py

import paramiko

def remote_results():

    hostname ='192.168.xx.xx'
    port = 22
    username='xxxxxx'
    pkey_file = '/home/test/.ssh/id_rsa'

    key = paramiko.RSAKey.from_private_key_file(pkey_file)
    s = paramiko.SSHClient()
    s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    s.connect(hostname, port, pkey=key)
    stdin, stdout, stderr = s.exec_command('cd /root/xxxxx/xxxx/ ;                                                                             python xxxxx.py', get_pty=True)
    print stdout.read()
    s.close()

if __name__=="__main__":
    remote_results()

实际结果应该是xxxxx.py在正确url中的连续结果,当前当我强制脚本停止url时,返回“none”

xxxxx.py在控制台中工作


Tags: djangofromimportdiv脚本outputreturnremote
1条回答
网友
1楼 · 发布于 2024-09-30 22:15:15

remote_results()从不返回任何内容,因此其值为None

你的意思是return stdout.read()而不是仅仅打印它吗

相关问题 更多 >