Делаю собственный проект - параллельно изучаю Django.
Цель проекта: Сделать удобный механизм нарезки IP-сетей под необходимые маски. Вести учет (картотеку) использования нарезанных подсетей.
Как исходные данные имею три модели:
1) Список подсетей, которые надо будет делить на мелкие
2) Список масок, которыми надо будет нарезать какую-то одну сеть из модели выше
3) Таблица готовых подсетей, которые образовались после резки сети из пункта 1 маской подсети выбранной из пункта 2. Далее, эти подсети будут раздаваться и учитываться.
По мере того как будут заканчиваться подсети из пункта 3, они снова будут наращиваться нарезкой сетей из пункта 1 выбранной маской из пункта 2.
Делаю форму, в которой указывается сеть, которая будет резаться с выпадающим списком предлагаемых масок.
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",
})
)
А вот во вьюхе не знаю как описать действие
from django.shortcuts import render
from .forms import SawnetForm
# Create your views here.
def sawnet(request):
if request.method == 'POST':
pass
else:
form = SawnetForm()
По идеи мне нужно как-то соблюсти взаимосвязь - если, допустим, выбрали подсеть с маской "A.B.C.D/27 - 255.255.255.224 - 30 хостов", то в этой же строке мне надо как-то в переменную посадить значение из этой же строки - /27
Потом применить метод ipaddress и т.д.
Вот сейчас и застрял на том, как при выборе в форме каких-то данных из выпадающего списка, взять данные из другого поля выбранной строки в переменную?