我试图使用Django模板渲染存储在Google驱动器中的word文档文件(docx)的内容。文档文件(docx)是包含django变量的模板。 转换文件到Google文档格式将让的docx文件失去其字体和样式格式因此,我想实现在谷歌应用程序引擎以下步骤在Google App Engine中将docx文件渲染为django模板
- 使用由谷歌公司downloadUrl驱动 下载的docx文件
- 传递下载的文件到Python,DOCX模块提取文本
- 传递提取到Django的文字为它使用Python,DOCX
- 最后呈现的Django变量
- 写的文字回DOCX UPL将docx文件添加到另一个Google Drive帐户。
我有试图通过下载的文件到蟒蛇,DOCX问题,实现here
下面是我在谷歌应用程序引擎代码
downloadUrl = searchResult.get('items')[1]['downloadUrl']
if downloadUrl:
resp, tempContent = drive_service._http.request(downloadUrl)
if resp.status == 200:
f = StringIO.StringIO(tempContent)
document = Document(f)
para = document.paragraphs()
print para
f.close()
上面的代码提供了以下错误:
para = document.paragraphs()
TypeError: 'list' object is not callable
这是我的代码,用于在Django模板中渲染提取的文本
myTemplate = Template(tempContent)
c = Context({
"salutation": "William",
"inventionTitle":"Biometric KeyLock"
})
fullContent = myTemplate.render(c)
已下载文件的MIME类型是:
application/vnd.openxmlformatsofficedocument.wordprocessingml.document
我的问题是,我不知道如何处理下载的文件。我想要替换存储在谷歌驱动器中的word docx中的占位符/变量,而不会丢失格式,然后将其上传回谷歌驱动器。
如果有更好的实现方法,请让我知道。
谢谢。
错误消息告诉你所有你需要知道的:'document.paragraphs'不是一个方法,不要试图调用它。但是在完成这项工作之前,您将需要更多的工作来完成修复任务:就在我头顶,您如何期望将数据恢复到正确位置的word文档中? – 2014-10-18 20:52:04
感谢丹尼尔,但根据文档 >>> 高清段(个体经营): “”” A的名单|段落|对应段落 的文档实例文档顺序需要注意的是段落内修订 标记,如''''或''''没有出现在这个名单 “”” 回报self._document_part.paragraphs' –
2014-10-21 13:04:58
链接为[蟒蛇-的docx(HTTPS文件:// python-docx.readthedocs.org/en/latest/_modules/docx/api.html#Document.paragraphs) – 2014-10-21 13:20:02