嗨,我很难从远程服务器获取文件路径。这里有没有人可以帮助我?
我想要实现的是播放已保存在远程服务器中的音频文件。
这就是我的代码现在的样子。这还行不通。
<audio controls>
<source
src="user@host:/file/path/from/remote/server/{{record.filename}}" type="audio/ogg">
</audio>
我想知道的是如何获得此路径user@hostname:/file/path/from/remote/server
我正在将Django与Python配合使用。
非常感谢任何可以提供帮助的人!
答案 0 :(得分:0)
您必须从views.py函数渲染模板(在问题中显示了模板的一部分)。在该视图中,将文件下载到本地:
import requests
# Before rendering the template
r = requests.get("user@host:/file/path/from/remote/server/" + record.filename)
local_file = "/path/on/local/" + record.filename
with open(local_file, 'wb') as f:
f.write(r.content)
# Now pass the location of the local file in template render
...render(local_file = local_file)
在模板中,进行相应的更改
<audio controls>
<source
src="{{local_file}}" type="audio/ogg">
</audio>
现在,如果您担心本地内存或混乱情况,则无需一次下载所有文件。此外,为了提高效率,您可以通过在记录中引入bool“已下载”字段来维护所有已下载文件的映射。然后,您可以在下载之前检查此字段,并且仅在本地尚未下载时下载。