Неактуальное значение переменной сеанса Django в представлении

У меня есть два мнения по поводу некоторых ступенчатых процессов.

  • шаг 1: покажите все элементы с флажками, используйте ajax для отправки pk удаленного элемента в бэкенд по нажатию кнопки. В бэкенде есть функция для установки этих значений в сессию.
  • .
    def selecteditems(request):
    if request.is_ajax and request.method == "POST":
        request.session['selected'] = request.POST.getlist('items[]')
        request.session.modified = True
        return HttpResponse(status=200)
  • шаг 2: получить эти переменные из сессии и поместить их во второе представление.
    def step2(request):
    if request.method == "GET":
        selectedList = request.session.get('selected')
        allItems = Items.objects.all()
        selectedItem = allItems.filter(id__in=selectedList)
        context = {
            "selectedItem": selectedItem,
        }
        return render(request, 'step2.html', context)

Проблема, которую я получил, заключается в том, что второй вид всегда получает значения "delay", что означает, что я должен обновить страницу, чтобы загрузить последние элементы, которые я только что выбрал, иначе это данные, которые я выбрал в прошлый раз.

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