使用图像预览和来自文件预览的元数据扩展wagtail的文档
wagtaildocs-previews的Python项目详细描述
使用图像预览和来自文件预览的元数据扩展wagtail的文档
安装
使用pip安装:
$ pip install wagtaildocs_previews
设置
在设置文件中,将wagtaildocs_previews添加到INSTALLED_APPS:
INSTALLED_APPS=[# ...'wagtaildocs_previews',# ...]
您还需要设置WAGTAILDOCS_DOCUMENT_MODEL。
WAGTAILDOCS_DOCUMENT_MODEL='wagtaildocs_previews.PreviewableDocument'
url配置
fromwagtaildocs_previewsimporturlsaswagtaildocs_urlsurlpatterns=[# ...url(r'^documents/',include(wagtaildocs_urls)),# ...]
用法
因为我们是通过WAGTAILDOCS_DOCUMENT_MODEL扩展的,所以您应该使用 get_document_model()引用正确的文档模型。
fromwagtail.wagtailcore.modelsimportPagefromwagtail.wagtaildocs.modelsimportget_document_modelfromwagtail.wagtaildocs.edit_handlersimportDocumentChooserPanelclassBookPage(Page):book_file=models.ForeignKey(get_document_model(),null=True,blank=True,on_delete=models.SET_NULL,related_name='+')content_panels=Page.content_panels+[DocumentChooserPanel('book_file'),]
现在,您可以在模板中访问preview_data字段。
{% extends "base.html" %} {% load wagtailcore_tags %} {% block body_class %}resource-page{% endblock %} {% block content %} <h1>Book</h><h2>{{ page.book_file.title }}</h2><imgsrc="{{ page.book_file.preview_data.preview.url|default:'http://placehold.it/300x300' }}"alt=""> {% endblock %}