私は、この質問の派生物は既に尋ねられていることを知っています。しかし、これらの質問は時代遅れであり、私は新しいバージョンのいくつかの新しい答えを聞きたいと思います。djangoでファイルをダウンロードするにはどうすればいいですか?
私にはモデルがあり、その中にファイルフィールドがあります。
class MyModel(models.Model):
field = models.FileField()
私はジャンゴの管理パネルを使用して、このモデルを使用してファイルをアップロードすることができますし、私はMEDIA_ROOT
設定変数とその場所を設定することができます。しかし、私はビューでこのファイルをダウンロードすることはできません。 URLを指定しようとしましたが、通常は「404が見つかりません」というエラーが表示されます。ここ
def download(request):
file = # code to get the the model instance.
context = {'file': file}
return render(request, template, context)
は、テンプレートのコードである:
<a href="{{file.field.url}}">Download Link</a>
これは404エラーをスローします。なぜこのエラーを投げるのか分かります。そのURLにはURLの定義が存在しないためです。
どうすればこのファイルをダウンロードできますか?
ジャンゴ1.8.7、Pythonの3.4.3、Ubuntuの開発では14.04
を得るためにこれを行うことができます。 MEDIA_URLのMEDIA_ROOTからファイルを提供するようにWebサーバー(Djangoではなく)を構成する必要があります。 –
@DanielRoseman Webサーバーの設定方法に関するドキュメントや謝辞を教えてください。 – Bora