1

スラッシュに基づいて IP アドレスの範囲を出力する IP Block Calculator Web アプリケーションがあります。ただし、範囲内の最後のレコードのみがテキスト フィールドに保存されます。すべてテキストフィールドに保存できるようにしたいです。

コードで python-ipy を使用しています。最後の for ループ"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

どんな助けでも大歓迎です。

4

1 に答える 1