【问题标题】:How to send files from one View to another (django sessions)如何将文件从一个视图发送到另一个视图(django 会话)
【发布时间】:2017-07-20 23:24:07
【问题描述】:

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

有没有办法在不更改数据的情况下将 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')

【问题讨论】:

标签: python django


【解决方案1】:

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

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做额外的工作

【讨论】:

    猜你喜欢
    • 2014-02-06
    • 2015-02-10
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    相关资源
    最近更新 更多