0

django の管理パネルからリンクをクリックしてファイルをダウンロードする機能を作成しています。ファイルの保存に FileField を使用しています。ダウンロードの目的で、stackoverflow のヘルプを調べて見つけました。そのヘルプを使用した後、ファイルをダウンロードするための次のコードがあります (独自の小さな変更を加えています)。

def pdf_download(request):
    #print("request: ", request.META["PATH_INFO"])
    a = request.META["PATH_INFO"]
    #print(type(a))
    a = a.split("/")
    a = a[-1]
    #print(a)
    #print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    with open(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))+"\\router_specifications\\"+a ,"rb") as pdf:
        #Here router_specifications is the directory on local storage where the uploaded files are being stored.
        response = HttpResponse(pdf.read()) #can add ', content_type = "application/pdf" as a specific pdf parameter'
        response["Content-Disposition"] = "attachment; filename ="+a
        pdf.close()
        return response

このコードをラップトップで実行すると、ファイルが自動的にダウンロードされます。しかし、他のラップトップに切り替えると、ファイルをどこに保存すればよいか尋ねられます。つまり、自動的にダウンロードされません。手動保存を要求せずにファイルが自動的にダウンロードされるようにするには、どのような変更を行う必要がありますか。早い段階で助けを求めます。

4

1 に答える 1