解析view.py的打印输出中的关键字后的成功消息

时间:2019-02-13 10:25:37

标签: python html django

首先,对于编码来说,这是一个非常新的知识,但是已经设法为网络设备建立了一个自动化网站。

基本上是试图为某些关键字解析view.py中“打印(输出)”生成的输出,如果该关键字存在,则在我的模板中显示成功消息

view.py

if request.method == 'POST':

    hostname = request.POST.get ('host')
    username = request.POST.get ('username')
    password = request.POST.get ('password')
    srcrouting = request.POST.get ('srcrouting')
    rtsubnet = request.POST.get ('rtsubnet')
    destrouting = request.POST.get ('destrouting')

  remote_conn_pre = paramiko.SSHClient()
  remote_conn_pre.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  remote_conn_pre.connect(hostname=hostname, port=22, username=username,
                        password=password,
                        look_for_keys=False, allow_agent=False)

  remote_conn = remote_conn_pre.invoke_shell()

  remote_conn.send("\n")
  remote_conn.send("en\n")

  remote_conn.send(str(password)+ "\n")

  remote_conn.send("conf t\n")

  remote_conn.send("ip route" + " " + srcrouting + " " + rtsubnet + " " + destrouting + "\n")

  remote_conn.send("end\n")

  remote_conn.send("sh run | s" + " " + srcrouting + "\n")
  time.sleep(1)
  route = remote_conn.recv(65535)
  print (route)
  context = {'route': route}

我想解析“打印(路线)”的输出,如果其中包含某些内容,则显示成功消息。

谢谢

2 个答案:

答案 0 :(得分:0)

使用Django messages framework

if "something" in route:
    // logic here
    messages.success(request, 'Show something')

和在模板中

{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}

答案 1 :(得分:0)

带有if命令的行仅检查变量route是否包含任何东西,如果是,它将执行print命令。打印命令将成功消息和“路由”的内容打印到屏幕上。从长远来看,您实际上可能希望检查路线的确切内容。

if route:
    print("Success! Content of variable route: " + str(route))