如何将文件从一个视图发送到另一个视图(django会话)

时间:2017-07-20 23:24:07

标签: python django

所以我试图将图像对象从一个视图发送到另一个视图。

有没有办法将View1中的图像文件转换为View2而不更改数据。 我尝试将图像数据转换为字符串,因此它可以是JSON可序列化的,但是这样做我遇到了操纵字符串的一些问题。所以我认为最好的方法就是发送整个图像(未触动)。

下面的代码吐出错误: <InMemoryUploadedFile: image.jpg (image/jpeg)> is not JSON serializable

def View1(request):

    form = FileForm(request.POST or None, request.FILES or None)
    if request.method == 'POST':
        if form.is_valid():
            image = request.FILES.get('image')
            request.session['image_file'] = image

            return redirect('View2')

def View2(request):
    img_string = request.session.get('image_file')

1 个答案:

答案 0 :(得分:0)

尝试将图像作为参数传递:

def View1(request):

    form = FileForm(request.POST or None, request.FILES or None)
    if request.method == 'POST':
        if form.is_valid():
            image = request.FILES.get('image')

            return redirect('View2', image)

def View2(request, image=None):
    img_string = image

您需要在urls.py

中做额外的工作