Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Djangoforms. Dynamic initial values. Требуется написать код или исправить существующий код.  Сам я новичок впрограммировании. Есть проект на Django.На первом этапе в функции n01_size_kss() инициализирую первую форму KSS_Form().Результаты, полученныеиз этой формы после промежуточных вычислений (вычисляется переменная "filter_label") должныбыть направлены во вторую форму KSS_Form1() как dynamic initial values https://docs.djangoproject.com/en/3.0/ref/forms/api/#dynamic-initial-valuesУ меня не хватаетинтеллекта чтобы это сделать. Ваша задача - написатьview (или исправить мою функцию n01_size_kss1()), а также исправить или переписать мою вторуюформу KSS_Form1(), которая неработает, но по ней видно в каком направлении должны быть приложены усилия. Задание должнобыть выполнено в двух вариантах:1. class KSS_Form1(forms.Form) - основной вариант примерно 25 строк2. class KSS_Form1(ModelForm) -дополнительный вариант - 25 строк

....

#views.py

'''FIRST FORM PROCESSING'''

def n01_size_kss(request):

    if request.method == 'POST':

        form = KSS_Form(request.POST)

        context = {'form':form}

        if form.is_valid():

            # some calculations for the econd form - calculation of filter_label value

            form1 = KSS_Form1(initial={'filter_label':filter_label})

            context = {'form':form1}

            return render(request, 'af/size/01_kss_size2.html', context)

    else:

        context = {'form':KSS_Form()}

        return render(request, 'af/size/01_kss_size1.html', context)

'''SECOND FORM PROCESSING'''

def n01_size_kss1(request):

    if request.method == 'POST':

        form = KSS_Form1(request.POST)

        context = {'form':form}

        if form.is_valid():

            # calculation of another value x

            context = {'x':x, **context}

            return render(request, 'af/size/01_kss_size3.html', context)

    else:

        context = {'form':KSS_Form1()}

        return render(request, 'af/size/01_kss_size3.html', context)

#forms.py

''' FIRST FORM '''

class KSS_Form(forms.Form):

    '''Existing / current pre-separation'''

    choices = [

            (1, _("Central filter unit or another filter (

            (2, _("Fine chip conveyor or slot sleeve or magnet separator (

            (3, _("Coarse chip conveyor / perforated plate (

            ]

    preseparation = forms.ChoiceField(\

            required=True, \

            label=_("Specify existing / current pre-separation:"), \

            choices = choices,  )

'''SECOND FORM'''

class KSS_Form1(forms.Form):

    Field1 = forms.ChoiceField(choices=[], widget=forms.Select(),

        label=_("Specify desired material of housing:"),)

    def __init__(self, *args, **kwargs):

         super(KSS_Form1, self).__init__(*args, **kwargs)

         filter_label = self.initial['filter_label']

         self.fields['Field1'].choices = [

            ]

4 года назад
shevtsoo
Олег 
57 летГермания
9 лет в сервисе
Был
2 года назад