我是一名新的Django用户,请解释这两种下载选项中的专业人士和用户,
方法1:
<a href="/path/to/download/pleaseanswermyquestion.pdf">Download here</a
方法2:作为Django视图
def download(request):
data = open('/path/to/download/pleaseanswermyquestion.pdf', 'rb')
bdata = data.read()
response['content-type'] = "pdf"
response['content-disposition'] = "attachment; filename=%s" %(bdata)
return response
PS:上面的python代码错了,但我只想知道从服务器下载文件的上述2个概念之间的区别
答案 0 :(得分:0)
区别在于控制/安全。
通过简单的href,该文件通常可供任何人/任何人(网络蜘蛛机器人等)下载。
使用第二个,您可以要求身份验证/登录以下载文件,或者提供不同的文件(可能是基于登录用户动态生成的)或执行各种其他操作。但即使使用列出的代码 - 即提供静态文件 - 使用下载功能也可以轻松添加基本安全性,而不是使用href。
仅供参考,内容类型可能应为application/pdf
。