djangoでpdfダウンロード機能を実装する
djangoでpdfダウンロード機能を実装する
コツコツアプリを作成しております。
最低限の機能とメニュー画面が出来たのでPDF形式のマニュアルをダウンロードできる機能を追加してみたいと思います。
まずは動きを見てみたいと思います。
参考:
Djangoでファイルをダウンロードさせる方法
Django 1.7ではmimetypeではなくcontent_typeを利用する
プログラム
views.pyから独自モジュールの「pdf.get_manual」を呼び出すようにしてあげました。
...
def manual(request):
return pdf.get_manual(request)
独自モジュールのpdf.pyは下の通りです。
from django.http import HttpResponse
def get_manual(request):
response = HttpResponse(open('/path/to/pdf/marketista.pdf', 'rb').read(), content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="marketista.pdf"'
return response
ここで注意しないといけないのが「Django 1.7ではmimetypeではなくcontent_typeを利用する」と言う事です。
そうしないと下のようなエラーが出ます。
__init__() got an unexpected keyword argument 'mimetype'
最後に
マニュアルを作成するにあたってよいサイトや機能が色々見つかったので今度紹介したいと思います。色に関しては仮で決めて進めてきましたがいい感じにマニュアルと揃えたいなぁ...
ディスカッション
コメント一覧
まだ、コメントがありません