我在引导页面的一个模态中显示了以下表单 目的是上传一个带有隐藏id的文件 该应用程序基于googleappengine、Python/Webapp2
<form action="someUrl" role="form" method="POST" enctype="multipart/form-data">
<input type="hidden" name="entityId" value="{{datastoreEntity.key.id()}}"/>
<input name="importFile" type="file" multiple>
<input type="text" class="form-control" readonly>
<input type="submit" name="submit" value="Import">
</form>
问题出在相关的RequestHandler(服务器端),在那里我可以用
raw_file = self.request.POST.multi['importFile'].file
但是我无法获取id(它是由Jinja2正确生成的-在页面源代码中检查)。我已经试过了
self.request.get('entityId')
self.request.POST['entityId']
self.request.POST.multi['entityId']
通过appengine中的文件输入上传需要App使用从blobstoreapi获得的路径。它的文档是here。所以你可能想做些
然后将其注入模板中,以便表单可以使用它
文件上载完成后,blobstore将重定向到
/someUrl
,在那里处理表单的其余部分,包括.file
。你知道吗我无法再现你用最简单的方式叙述这个问题。我已经将该模板复制到
form.html
,将/
直接复制到MainHandler
,并除去通常的准备工作(导入,jinja_environment
,在当前目录中有一个FileLoader
,等等,我有):访问
/
,选择一个文件,然后单击Import
按钮,我在浏览器上看到:5066549580791808,这似乎是一个典型的数据存储实体ID,如所需。你知道吗请“插入”这个玩具超级简化版之间,毫无疑问,更复杂的事情你正在尝试做,并编辑你的Q向我们展示最简单的方法,你可以重现你的问题,谢谢!你知道吗
相关问题 更多 >
编程相关推荐