Django下载的文件名

Yoa*_*rtz 2 python django view download

我使用一个简单的视图类来强制下载文件的pk.文件下载的名称出来是pk.我希望它是原始文件名,就像在服务器上一样.我怎么做?

*我是django的新手

这里是视图的代码

class GetFileContent(View):
def get(self,request, userName, pk):
    user = User.objects.filter(username = userName)
    filtered = File.objects.filter(pk = pk, published=True, file_owner = user)
    data = filtered[0].content
    return HttpResponse(data, content_type='application/force-download')
    pass
Run Code Online (Sandbox Code Playgroud)

Sim*_*ser 8

您需要在响应上设置文件名:

response = HttpResponse(data, content_type='application/force-download')
response['Content-Disposition'] = 'attachment; filename="{}"'.format(filename)
return response
Run Code Online (Sandbox Code Playgroud)

您需要找到一种方法来确定所需的文件名(例如,通过将其存储在数据库中以及查找).