очистить данные сессии после отправки многостраничной формы в Django - PullRequest
0 голосов
/ 15 января 2020

У меня 4-страничная форма, где в 3-й форме я выбираю изображение для загрузки. Я храню содержимое первых 3 форм в сессии. После отправки 4-й формы я собираю необходимые данные из переменных сеанса и сохраняю их в базе данных. Как уничтожить переменные сеанса в django после отправки 4-й формы, потому что, когда я заполняю новую 4-страничную форму, я получаю ранее загруженное изображение в 3-й форме.

Есть ли лучший способ выполнения многостраничных форм в django?

1 Ответ

1 голос
/ 15 января 2020

Вам нужно позвонить del request.session['key'], чтобы удалить данные из сессии. Поэтому попробуйте так:

def fourth_form_submission(request):
    form = FourthForm(request.POST)
    if form.is_valid():
        data = form.cleaned_data
        # save data to DB from session
        try:
            del request.session['form_1_data']
            del request.session['form_2_data']
            del request.session['form_3_data']
        except KeyError:
            pass
       return HttpResponse("Data has been saved.")

Или вы можете использовать flush(), но он удалит все данные сеанса.

Дополнительная информация об этом можно узнать в documentation.

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