Формы Django выбирают значение опции вручную по одному и тому же URL

У меня проблемы с тем, как получить выбранный вариант формы, переданный обратно на тот же url, что и значение контекста get:

forms.py

class ModeForm(forms.Form):

    MODES = (
        ('','Select a generation mode'),
        ('docker','Docker'),
        ('docker-compose','Docker Compose'),
        ('kubernetes', 'Kubernetes'),
    )

    selectedMode = forms.CharField(label="",
            widget=forms.Select(choices=MODES,
            attrs={
                'class': 'form-control',
                'placeholder': 'Generation mode',
                'onchange': 'form.submit();',
            }),
    )

views.py

# Home page 
def viewHome(request):
    if request.method == 'POST':
        currentMode = request.POST.get('selectedMode')
        form = ModeForm(initial={'name':currentMode})
        print(f"Post Mode is: {currentMode}")

    context = {
        'data': None, 
        'form': form, 
    }
    return render(request, 'main/home.html', context)

Я могу получить выбранное значение при POST к представлению. Однако я не уверен, как сделать так, чтобы выбранное значение оставалось после того, как выбор сделан и форма отображается снова.

Как обстоят дела сейчас: Поле select имеет начальное значение при первоначальной загрузке главной страницы. Как только значение выбрано, форма публикуется на главной странице. В request.POST я могу получить выбранное значение. Однако элемент управления select сбрасывается, и значение теряется вне POST.

Я пытаюсь сделать следующее: получить выбор при отправке формы. Чтобы это значение сохранялось после установки значения.

Есть ли рекомендуемый способ справиться с этой ситуацией?

Вернуться на верх