У меня есть веб-приложение калькулятора IP Block, которое будет печатать ряд IP-адресов на основе косой черты. Однако он сохраняет только последнюю запись в диапазоне в текстовое поле. Я хочу, чтобы все это можно было сохранить в текстовом поле.Loop in Django Model
Я использую python-ipy с моим кодом. Посмотрите на последний цикл «rangeip»,
Вот мой код:
#ip block and range save function
def save(obj, *args, **kwargs):
subnet = unicode(obj.subnet)
first = IP(obj.ip_start + subnet).net()
broadcast = IP(obj.ip_start + subnet).broadcast()
print first
print broadcast
obj.broadcast_ip = broadcast
ip_block = IP(obj.ip_start + subnet)
ip_block.WantPrefixLen = 3
ip = IP(obj.ip_start + subnet)
for gateway in ip[1]:
obj.gateway_ip = gateway
print gateway
#rangeip for loop
for rangeip in ip:
obj.ip_range = rangeip
print rangeip
super(IP_block, obj).save(*args, **kwargs)
Это то, что я хотел бы, чтобы иметь возможность сохранить список в текстовое поле, он только экономит последний IP: 192.168.1.31
Пример Я хотел бы:
192.168.1.1 192.168.1.0 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 192,168 .1.15 192.168.1.16 192.168.1.17 192.168.1.18 192.168.1.19 192.168.1.20 192.168.1.21 192.168.1.22 192.168.1.23 192.168.1.24 192.168.1.25 192.168.1.26 192.168.1.27 192.168.1.28 192.168.1.29 192.168.1.30 192.168.1.31
Любая помощь очень признателен.
как 'ip_range' определяется? – karthikr