我试图将新闻条目中的内容复制到我所写的其他内容类型中。在我的脚本中,我有news
项和project
项。第二个是project
,它是一个使用灵活度定义的内容类型。如果我能以下一种方式将图像和正文文本从news
复制到project
,那就太好了。
project.text = news.text
project.image = news.image
在project
模式中将文本和图像定义为RichText和NamedBlobImage。我不知道新闻里的属性是怎么回事。我只知道我可以使用getImage()
方法在新闻条目中获取图像,但是将它分配给项目会在呈现项目时生成一个错误。
因此,我需要一些指导来解决我的基本问题:
发布于 2013-03-28 21:42:40
.get()
或.getRaw()
:
schema = news.Schema() news =schema.getField(‘text’).getRaw(新闻) imageField = schema.getField(' image ') image=imageField.getRaw(新闻) content_type =imageField.getContentType(新闻) filename =imageField.getFilename(新闻)ImageField.getRaw()
调用返回的对象基本上是一个OFS.Image
实例。您可以在上面调用str()
来获取原始图像数据。
要设置图像对象,您非常希望从模式中获取图像字段,并将它的._type
属性用作工厂:
project.image =IProjectInterface.image._type(str(图像),contentType=content_type,filename=filename)
这里的内容类型是可选的;NamedImage
和NamedBlobImage
类型也自动提取内容类型。https://stackoverflow.com/questions/15692531
复制相似问题