在wagtail上创建片段图像以供社交媒体共享。

wagtail-snippet-image的Python项目详细描述


用于创建片段图像以便在社交网络等中共享的包。 基于django-snippet-imagesnippet-image。 但对于图像的存储,使用wagtailImages

安装

pip3安装wagtail片段图像

如何使用

fromdjango.db.modelsimport(CharField,ForeignKey,SET_NULL,CASCADE,)fromwagtail_snippet_imageimportSnippetImageFieldfromwagtail.core.modelsimportPagefromwagtail.admin.edit_handlersimportFieldPanelfromwagtail.images.edit_handlersimportImageChooserPanelfrommodelcluster.fieldsimportParentalKeyfrommodelcluster.contrib.taggitimportClusterTaggableManagerfromtaggit.modelsimportTaggedItemBaseclassPageTag(TaggedItemBase):content_object=ParentalKey('home.HomePage',on_delete=CASCADE,related_name='tagged_items',)classStatuses:DRAFT='draft'PUBLISH='publish'CHOICES=((DRAFT,'Draft'),(PUBLISH,'Publish'),)classHomePage(Page):background=ForeignKey('wagtailimages.Image',verbose_name='Изображение для обложки',related_name='cover_images',on_delete=SET_NULL,blank=True,null=True,)snippet_image_field=SnippetImageField(verbose_name='Example snippet image field',null=True,)status=CharField(max_length=20,choices=Statuses.CHOICES,default=Statuses.DRAFT,)tags=ClusterTaggableManager(through=PageTag,blank=True)content_panels=Page.content_panels+[ImageChooserPanel('background'),ImageChooserPanel('snippet_image_field'),FieldPanel('status'),FieldPanel('tags'),]defget_snippet_image_background(self,snippet_type):returnself.backgroundandself.background.fileandself.background.file.path \
            ifsnippet_type=='default'elseNonedefget_snippet_image_center(self,snippet_type):return(self.background.focal_point_x,self.background.focal_point_y) \
            ifsnippet_type=='default'andself.background \
               andself.background.focal_point_xandself.background.focal_point_y \
            elseNonedefget_snippet_image_text(self,snippet_type):returnself.titleifsnippet_type=='default'elseNonedefsnippet_image_should_be_created(self):returnself.status==Statuses.PUBLISH# Wagtail custom methods for create wagtail images for sharing snippet imagedefget_snippet_image_title(self,snippet_type):returnself.titleifsnippet_type=='default'elseNonedefget_snippet_image_tags(self,snippet_type):returnself.tags.names()ifsnippet_type=='default'elseNone

并在模板中使用:

<metaproperty="og:image"content="{{ image(page.snippet_image_field, 'original') }}"/>

home中阅读更多内容。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Scanner对象作为构造函数参数传递给UserInterface类   spring未能启动bean“subtocolWebSocketHandler”;嵌套的例外是java。lang.IllegalArgumentException:没有处理程序   Java EE应用程序中后台服务的多线程Java线程(设置守护进程和优先级)?   java Pull to refresh返回列表的第一个位置   无法将comparator类转换为java。可比的   java将json从servlet传递到dojo   JavaHibernate:将子类实例转换为超类实例   java警告调用servlet类时非法反射访问   java静态变量值   java@Entity和@embeddeble之间有什么区别   java将作业配置导入公共作业配置类(注释配置)   sql公共表表达式(以values语句开头)在java中给出错误   java在ImageJ中使用ImageProcessor   java PostgreSQL executeBatch()会随着时间的推移而变慢   java在安卓中以表格形式排列sqllite表数据?   java中SVG的swing定制呈现   java删除与另一个实体映射的实体   java何时/如何添加ListView适配器,使用back按钮恢复它?(片段)   java为什么IBinder和Binder之间的类型转换不是非法的?   java在方法参数列表中使用ArrayList或List