У меня есть следующий скрипт python для анализа вывода файла / proc / net / route, и он отлично работает, когда я запускаю его в оболочке. Код возвращает отдельный список для каждой записи маршрутизации в таблице
Мне нужно отобразить вывод этого скрипта в таблице в шаблоне django. Я пытался использовать цикл for, но он ничего не отображает.
def routes(request):
with open("/proc/net/route") as fh:
next(fh)
for line in fh:
routes = line.strip().split()
destination = socket.inet_ntoa(struct.pack("<L", int(routes[1], 16)))
gateway = socket.inet_ntoa(struct.pack("<L", int(routes[2], 16)))
mask = socket.inet_ntoa(struct.pack("<L", int(routes[7], 16)))
metric = routes[6]
interface = routes[0]
context_routes = {'routes': routes }
return render(request, 'lwp_admin/routes.html', context_routes )
CLI-вывод скрипта:
0.0.0.0 192.168.1.1 0.0.0.0 100 enp1s0
172.17.0.0 0.0.0.0 255.255.0.0 0 docker0
192.168.1.0 0.0.0.0 255.255.255.0 100 enp1s0
192.168.34.0 0.0.0.0 255.255.255.0 0 vmnet1
192.168.64.0 0.0.0.0 255.255.255.0 0 vmnet8
192.168.122.0 0.0.0.0 255.255.255.0 0 virbr0
Я хочу, чтобы этот вывод отображался в шаблоне django в таблице.
Код шаблона Django:
<table class="table table-bordered table-responsive table-striped table-condensed">
<thead class="bg-maroon-gradient">
<tr>
<th scope="col" class="col-xs-1 text-center">Destination</th>
<th scope="col" class="col-xs-1 text-center">Subnet mask</th>
<th scope="col" class="col-xs-1 text-center">Gateway</th>
<th scope="col" class="col-xs-1 text-center">Metric</th>
<th scope="col" class="col-xs-1 text-center">Interface</th>
</tr>
</thead>
<tbody>
{% for route in routes %}
<tr class="text-center">
<td> {{ route }}</td>
</tr>
{% endfor %}
</tbody>
</table>