Как реализовать последовательность форм - PullRequest
0 голосов
/ 26 сентября 2019

Новое для Джанго здесь.Я хочу реализовать две формы в последовательности, где вторая форма зависит от сохранения первой формы.Например: View_A реализует методы GET / POST формы A. Как только форма A отправлена ​​и сохранена, она сгенерирует уникальный идентификатор.Форма A также имеет переключатель с двумя вариантами (B и C).В зависимости от сделанного выбора мне нужно предоставить пользователю вторую форму B или форму C, где уникальный идентификатор из формы A заполняется автоматически.Обязательным условием для форм B и C является наличие уникального идентификатора в форме A.Я не могу использовать AJAX, потому что сначала нужно сохранить форму A.

Моя проблема в том, что как только я нажимаю кнопку отправки формы A, она становится запросом POST.Я могу сгенерировать уникальный идентификатор и отобразить его в возвращенном HTML-шаблоне.Тем не менее, это все тот же вид, и я не знаю, как отображение следующей формы.Отображение формы B / C в идеале должно быть запросом GET.Но я в POST-запросе.

Надеюсь, это достаточно ясный вопрос.

Спасибо

1 Ответ

0 голосов
/ 26 сентября 2019

Вы должны реализовать три представления, по одному для каждой формы.Когда пользователи сохраняют форму A, вы проверяете правильность формы и генерируете идентификатор.После этого просто верните HttpRedirect.Если идентификатор используется для процесса, вы также указываете его в качестве параметра для следующего представления.

def my_view(request):
    # Construct your form from the POST data
    if form.is_valid():
        return redirect('next-form-view', identifier=your-generated-identifier)

Документация по ярлыку перенаправления может быть найдена здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...