在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 JButton,但不可见   java在ArrayList的所有可能组合上循环   java是否不需要在构造函数中放入super()?   反射如何检查类是否属于JavaJDK   java列表。toArray(T[]a),如果“T”是“运行时类型”,该怎么办?   字符串连接使用java连接由管道和“:”分隔的整数值   在Java中打开枚举   Windows与Mac上的java正则表达式   java如何在正则表达式中匹配组?   在执行maven安装目标时,不会替换属性文件中的java占位符   java试图在wso2流处理器/流集成器上堆叠siddhi   java从intellij中的maven项目创建jar   java如何在TomEE+中配置Apache CXF ignoreNamespaces?   javajpa获取分离结果   OpenCV 4.3.0 java。Eclipse中的lang.UnsatifiedLinkError   java使用特定大小和特定值创建字节数组