使用self.request.get()获取空字符串

时间:2014-04-20 19:16:32

标签: python html google-app-engine post jinja2

我有这个简单的代码:

import jinja2
import webapp2


JINJA_ENVIRONMENT = jinja2.Environment(
    loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
    extensions=['jinja2.ext.autoescape'],
    autoescape=True)

class MainPage(webapp2.RequestHandler):
    def get(self):
        template_values = {}
        template = JINJA_ENVIRONMENT.get_template('index.html')
        self.response.out.write(template.render(template_values))

class PostHandler(webapp2.RequestHandler):
    def post(self):
        self.response.out.write("name = " + self.request.get('name'))       

application = webapp2.WSGIApplication([('/', MainPage),
                           ('/post', PostHandler)],
                            debug=True)

index.html 是:

<!DOCTYPE html>
{% autoescape true %}
<html>  
  <body>

    <form>Name:
        <input type="text" name="name">
    </form>
    <br>

    <form method = "post" action = "/post">    
        <input type="submit" value="Submit">
    </form>

  </body>
</html>
{% endautoescape %}

在TextField中输入一些文字:

enter image description here

我无法从TextField获取文本:

enter image description here

有人知道我的问题是什么吗?

修改

Daniel Roseman回答问题:

<form method = "post" action = "/post">   
    Name: <input type="text" name="name"> <br>
    <input type="submit" value="Submit">
</form>

1 个答案:

答案 0 :(得分:1)

出于某种原因,你有两个独立的form元素,一个带有输入字段,另一个带有按钮。但那些需要采用相同的形式。