python - 从互联网下载文件并使用 Django 服务到网站而不暴露 URL

标签 python django

我正在使用某些 URL get 请求下载音频文件。我无法公开 URL,因为它包含 API key 。将此文件提供给网站的正确方法是什么?

最佳答案

创建一个下载文件的 View ,然后将文件作为对前端的响应返回。

Here Django 文档向您展示了如何使用生成器将文件作为响应进行流式传输。

import requests
from django.http import StreamingHttpResponse


def stream_audio(request):
    file_url = "your.url.com"
    r = requests.get(file_url, stream=True)
    response = StreamingHttpResponse(streaming_content=r, content_type='audio/mpeg')
    response['Content-Disposition'] = 'attachment; filename="somefilename.mp3"'
    return response

这样您就永远不会公开您的 API key ,但可以向用户发送相同的信息。

关于python - 从互联网下载文件并使用 Django 服务到网站而不暴露 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49884857/

相关文章:

python - 获取 Django 模型的 JSON 表示

python - ImproperlyConfigured : Requested setting INSTALLED_APPS, 但未配置设置。赫罗库

python - 对于将即发即弃任务发送到一堆 Web 服务器的 Web 服务器来说,正确的 ZMQ 架构是什么?

python - 使用 pywinauto 自动化 wbemtest

python - 模板语法错误 : 'if' statement improperly formatted

Django REST Framework 通过 PK 之外的另一个字段设置相关字段(没有 NestedSerializer)

python - 保存新用户时出现重复 key 错误

python - 如何在 expr() 中使用列名而不是直接值在 Pyspark 中添加日期?

python - Pyramid + ZODB 图像存储

python - Tornado 中返回纯 json 错误