0
我已经安装了iftop,它现在可以在命令行上正常工作,当我尝试将它集成到Django中时,它根本不给我任何输出,但同时我没有得到错误。如何在Django中显示Iftop
views.py
def packets(request, template="linux_path/packets.html"):
context = {}
tcp_data = subprocess.Popen(['sudo', 'iftop','-i', 'eth1'], stdout=subprocess.PIPE)
raw_packets = tcp_data.stdout.read()
groups = []
for raw_packet in raw_packets.split("\n"):
tokens = re.match("[5:5]", raw_packet)
if tokens is None:
continue
else:
packet_name, packet_length = tokens.groups()
group = {
"packet_name":packet_name,
"packet_length":packet_length
}
groups.append(groups)
return groups
HTML
{% extends "base.html" %}
{% block title %}
Packet Log
{% endblock %}
{% block content %}
<table style="width: 100%">
<thead>
<th>Name</th>
</thead>
<tbody>
<tr>
<td>{{function call here}}</td>
</tr>
</tbody>
</table>
{% endblock %}
我也放在正确的代码在urls.py文件
什么情况是,该页面只是在加载时挂起,并没有进入我的packets.html页面
任何想法我做错了什么?
一旦我得到那个工作,然后我将能够使用RE操纵数据到我想要的格式。
我甚至在命令行中输入sudo密码时,该选项出现,但仍然是页面挂起。
很酷的感谢,sudo选项只是现在,所以我可以看到一些输出。一旦我开始看到输出,然后会改变它并将其添加到我的脚本文件中。我现在要看看ncurses。 – 2015-03-03 12:08:54
这看起来很相关:http://stackoverflow.com/questions/8371877/ncurses-and-linux-pipeline-c – Joe 2015-03-03 13:47:01