如何向Django temp发送base64字符串

2024-04-16 09:33:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我的python代码从aws s3存储桶中获取一个文件,然后按照常规惯例在django html模板中呈现:

    context_dict = {}
    conn = S3Connection(djangoSettings.AWS_ACCESS_KEY_ID, djangoSettings.AWS_SECRET_ACCESS_KEY)
    b = conn.get_bucket(djangoSettings.AWS_STORAGE_BUCKET_NAME) 
    k = Key(b)
    k.key = 'Myfile.png'


    your_bytes = k.get_contents_as_string(headers={'Range' : 'bytes=0-100000'},encoding="base64")

    print your_bytes

    context_dict['bytes'] = your_bytes
    context_dict['otherdata'] = "otherdata"
    return render(request, 'webapp/index.html', context_dict)

当我print your_bytes时,它打印终端中显示Django服务器数据的字节。但是,当我尝试访问Django模板中的字节时,不会发生任何事情:

^{pr2}$

bytes不打印任何内容,但otherdata渲染良好。在

总之,如何将base64字符串发送到django模板而不发生冲突? 或者这是向客户发送文件的愚蠢方式吗? 如果是这样的话,最合适的方法是什么?在


Tags: 文件djangokeyaws模板yourgetbytes
1条回答
网友
1楼 · 发布于 2024-04-16 09:33:12

你能试着转义“字节”的内容吗?在

<html><body>
   {{ otherdata }}
   {{ bytes|force_escape }}
</body></html>

通常,如果我需要将文件返回给客户机,我要么重定向文件的url,要么只返回包含url的json。在

^{pr2}$

相关问题 更多 >