gpt4 book ai didi

python - request.session 没有将完整的 querydict 传输到另一个 View

转载 作者:行者123 更新时间:2023-11-30 22:19:45 24 4
gpt4 key购买 nike

我正在使用“post”提交表单,并使用 request.POST 将其数据传输到另一个 View ,但我的 querydict 在到达第二个 View 时不完整。

View 1

def question_filter(request):
if request.method == 'POST':
print('before validation', request.POST)
request.session['question_data'] = request.POST
return HttpResponseRedirect(reverse('qapp:question_preview'))

View 2

def question_preview(request):
all_questions = Questions.objects.all()
question_data = request.session.get('question_data')
print(question_data)
question_pk_list = question_data['question_pk']
preview_questions = all_questions.filter(id__in=question_pk_list)
...
return render(request,'apps/qapp/question_preview.html', {somecontext})

我在这里做错了什么吗?

更新:

before validation <QueryDict: {'topics_all': ['1', '2'], 'csrfmiddlewaretoken': ['...'], 'subtopics_all': ['4', '2'], 'classroom': ['3'], 'difficulty': ['l', 'm']}>
[28/Feb/2018 17:17:39] "POST /question/filter/ HTTP/1.1" 302 0

(in the second view)question data {'topics_all': '2', 'csrfmiddlewaretoken': '...', 'difficulty': 'm', 'subtopics_all': '2', 'classroom': '3'}

最佳答案

您无法像这样发送所有发布数据,因为您的输入名称中有列表,您必须以不同的方式访问每个名称并将它们设置在 session

request.session['question_data'] = request.POST.getlist('topics_all')

其他输入名称也是如此,然后在第二个 View 中使用 key 访问

关于python - request.session 没有将完整的 querydict 传输到另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49029196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com