Wagtail CMSのデフォルトの設定では、ドキュメントをブラウザに表示する代わりにドキュメントへのリンクを自動的にダウンロードするよう設定されているようです。この設定を変更する簡単な方法はありますか?Wagtailのドキュメントリンクをページとして表示する代わりにダウンロード
0
A
答えて
1
これに対する別のアプローチは、before_serve_document
セキレイフックにフックすることができます。
http://docs.wagtail.io/en/v1.13/reference/hooks.html#document-serving
あなたが文書に基づいて、このように応答をカスタマイズすることができ、ここでフックがどのように動作するかを示してかなりラフ例があります。
でも、ファイルを表示する表示可能URLを生成する方法を解決する必要があります。
from wagtail.wagtailcore import hooks
from django.shortcuts import redirect
@hooks.register('before_serve_document')
def serve_document(document, request):
# eg. use document.file_extension, document.url, document.filename
if document.file_extension == 'pdf':
google_view_pdf_base = 'https://docs.google.com/viewer?url='
# document.url is a relative URL so more work needed here
# also URL should probably be URL encoded
redirect_url = google_view_pdf_base + document.url
# must return an instance of HTTPResponse
return redirect(redirect_url)
# no return means the normal page serve will operate
1
ドキュメントへのリンクをダウンロードするのはかなり標準的です。主にブラウザ内のドキュメントのプレビューがブラウザごとに実際に異なるためです。
URLをPDFに解析し、target="_blank"
属性を追加するテンプレートフィルタを追加できます。
これはオンラインでホストされているPDFファイルのために、ほとんどのブラウザで動作するかもしれません: カスタムフィルタを作成する方法https://stackoverflow.com/a/27392750/8070948
: https://docs.djangoproject.com/en/1.11/howto/custom-template-tags/#registering-custom-filters
関連する問題
- 1. ルートを表示する代わりにページをダウンロードしています
- 2. PHPページがコンテンツを表示する代わりにダウンロードを開始します
- 3. phpページの代わりに404を表示しているNginx
- 4. ブラウザに表示する代わりにpdfをダウンロードする
- 5. Apacheは、表示する代わりに.aspxページを表示しています
- 6. wamp localhost表示する代わりにindex.phpをダウンロードする
- 7. サーブレットでレジスタの成功を表示する代わりにダウンロード
- 8. ブラウザで表示する代わりにKMLファイルをダウンロード
- 9. Apacheはperlファイルを表示する代わりにダウンロードしています
- 10. ページの代わりにインデックスリストを表示するウェブサイト
- 11. ダウンロードの代わりにファイルが表示されます
- 12. redirect_toコントローラでページを代わりに表示しますか?
- 13. Pageの代わりに空白のページが表示される
- 14. 画像URLの代わりにjspページに画像を表示
- 15. 代わりに表示します&
- 16. Cordova inAppBrowser:ページのURLの代わりにカスタムタイトルを表示
- 17. setDefaultCloseOperationを使用して、代わりにJFrameを表示する
- 18. .netサイトで特定のページを表示する代わりにファイルがダウンロードされる
- 19. Wagtailで新しいページを非表示にする
- 20. ファイルの内容がブラウザウィンドウに表示される代わりに、ダウンロードとして送信されます
- 21. nullの代わりに空の{}としてHashMapを表示するには
- 22. Firefox/OperaでHTMLページを表示代わりにコンテンツ?
- 23. クエリIDの代わりにurlのページ名を非表示にするには
- 24. コンボボックスの代わりにイメージを表示
- 25. Facebookのサーバー側認証:代わりにページとしてポップアップとしてOAuthダイアログを表示できません
- 26. ListViewを使用して404の代わりにページ区切りの最終ページを表示
- 27. htmlを実行する代わりにページに表示する方法は?
- 28. pdf.jsファイル名の代わりにdocument.pdfとしてダウンロード
- 29. Android DatePickerDiaglogueは、ドキュメントの代わりにカレンダー表示を表示しています
- 30. Django:空のフィールドを空白として表示する代わりに、空白を表示します。なし