将Json数据重定向到另一个视图

时间:2018-08-02 16:36:43

标签: django python-3.x django-views django-class-based-views

我有一个表单,供用户提交代码,此后,我有一个函数将此代码作为参数接收并在API上进行咨询。该API返回JSON数据。我想显示我在新页面上收到的数据。如何将该JSON数据传递到另一个视图并进行渲染?

这是我的课程,json_data包含我的json响应

class IndexPageView(FormView):

template_name = 'home.html'
form_class = StudentVerificationForm
success_url = reverse_lazy('core:home')

def form_valid(self, form):
    student_enrollment_number = form.cleaned_data['enrollment_number']
    json_data = student_exists(student_enrollment_number)

    return redirect('some-view')

2 个答案:

答案 0 :(得分:1)

建议使用Django Sessions

任何视图都可以由此获取数据。

答案 1 :(得分:0)

按照Django Session概念,我通过以下方式解决了该问题:

class IndexPageView(FormView):

template_name = 'home.html'
form_class = StudentVerificationForm
success_url = reverse_lazy('core:home')

def form_valid(self, form):
    student_enrollment_number = form.cleaned_data['enrollment_number']
    # store the variable on django session 
    self.request.session['enrollment_number'] = student_enrollment_number 

    return redirect('confirm')

此后,我创建了另一个视图并从会话中检索值

def confirm(request):

student_enrollment_number = request.session['enrollment_number']
...

从这里我可以做我想做的数据处理