Делаю собственный проект - параллельно изучаю Django.
Цель проекта: Сделать удобный механизм нарезки IP-сетей под необходимые маски. Вести учет (картотеку) использования нарезанных подсетей.
Как исходные данные имею три модели:
1) Список подсетей, которые надо будет делить на мелкие
https://drive.google.com/file/d/1fYXN7acZX9LBFYEuSdRKtH-SemsjabAX/view?usp=sharing
2) Список масок, которыми надо будет нарезать какую-то одну сеть из модели выше
https://drive.google.com/file/d/14v0a85D9rK2X3qAz15ycrT1fkpuUqsk3/view?usp=sharing
3) Таблица готовых подсетей, которые образовались после резки сети из пункта 1 маской подсети выбранной из пункта 2. Далее, эти подсети будут раздаваться и учитываться.
https://drive.google.com/file/d/1Ly7Mj3-ZmKt1Oxm6hrzhgbVYs84RmQLI/view?usp=sharing
По мере того как будут заканчиваться подсети из пункта 3, они снова будут наращиваться нарезкой сетей из пункта 1 выбранной маской из пункта 2.
Делаю форму, в которой указывается сеть, которая будет резаться с выпадающим списком предлагаемых масок.
enter code here
from django import forms
from mask.models import Mask
class SawnetForm(forms.Form):
ip_lan_24 = forms.CharField(
max_length=50,
label='Введите подсеть класса C, которую будем делить ',
widget=forms.TextInput(attrs={
"class": "form-control",
"placeholder": "AAA.BBB.CCC.DDD",
})
)
mask = forms.ModelChoiceField(
queryset=Mask.objects.all(),
label='Маска ',
empty_label='Выберите маску',
widget=forms.Select(attrs={
"class": "form-control",
})
)
А вот во вьюхе не знаю как описать действие
enter code here
from django.shortcuts import render
from .forms import SawnetForm
def sawnet(request):
if request.method == 'POST':
pass
else:
form = SawnetForm()
По идеи мне нужно как-то соблюсти взаимосвязь - если, допустим, выбрали подсеть с маской "A.B.C.D/27 - 255.255.255.224 - 30 хостов", то в этой же строке мне надо как-то в переменную посадить значение из этой же строки - /27
Потом применить метод ipaddress и т.д.
Вот сейчас и застрял на том, как при выборе в форме каких-то данных из выпадающего списка, взять данные из другого поля выбранной строки в переменную?