如何在Tornado中获得表单POST输入?

时间:2015-09-05 23:29:26

标签: python forms tornado

我是Tornado框架的新手,并尝试制作一个简单的表单来上传图片:

<form method="post" action="/uploads/{{uid}}/" enctype="multipart/form-data"  >
    <input type="file" name="file1" /> <br />
  Image info: <input type="text" name="alt" /> <br />
<input class="button" type="submit" value="Upload" class="button" /> 
</form>

我可以使用:

成功收到已发布的文件
if 'file1' in self.request.files:
            if self.request.files['imgfile'][0]: 
                    file1 = self.request.files['imgfile'][0] 

但是我无法收到alt输入。我试过了alt = self.request.alt但是我收到了这个错误

AttributeError: 'HTTPServerRequest' object has no attribute 'alt'

当我使用alt = self.request.files['alt']时,我得到:

  KeyError: 'alt'

我没有想法,所以感谢你的帮助。

更新

我发现这有效:

alt = self.get_argument('alt')

但仍然愿意接受更好的解决方案。

1 个答案:

答案 0 :(得分:6)

尝试以下代码

self.get_body_argument("alt", default=None, strip=False)