本番環境のPyramidでPDFをダウンロードできるようにしたい
Pyramidのプロジェクトで,静的ファイルとしてPDFを置いておき,aタグでリンクを張ることで,そのPDFをダウンロードできるようにしたい.
Pyramidプロジェクトを作成したときに,静的ファイル用のstaticディレクトリができるので,そこにfileディレクトリを作って,その中にPDFを置いた.
で,そのPDFのURLをaタグのhref要素に設定した.
ローカルでPyramidを実行した場合は,問題無くPDFをダウンロード出来た.
しかし,本番環境にあげてみると,404が返ってくる.
これには詰まった.
キャッシュのせいじゃないかとか,URLが間違ってるんじゃないかとか,パーミッションが悪いんじゃないかとか,aタグを使うのが間違ってるんじゃないかとか,かなり悩んだ.
検索しても全然情報が無い.
で,頑張って探してたら,MANIFEST.inが怪しいんじゃないかと.
include *.txt *.ini *.cfg *.rst recursive-include dicemaker *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml
MANIFEST.inの中身はこうなっている.
マニュアルを見てみると,pythonファイル以外についてはここに記述する必要があるっぽい.
というわけで,*.pdfを追加したら,無事に本番環境でもPDFがダウンロード出来た!
include *.txt *.ini *.cfg *.rst recursive-include dicemaker *.ico *.png *.css *.gif *.jpg *.pt *.txt *.mak *.mako *.js *.html *.xml *.pdf
もっと勉強します.はい.