首先,对于编码来说,这是一个非常新的知识,但是已经设法为网络设备建立了一个自动化网站。
基本上是试图为某些关键字解析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}
我想解析“打印(路线)”的输出,如果其中包含某些内容,则显示成功消息。
谢谢
答案 0 :(得分:0)
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))