我正在一個非常簡單的python程序,我向用戶展示一個表單來選擇Android或IPhone並輸入一個電子郵件地址。 html和Python代碼包含在下面。無論什麼原因,我沒有從self.request.get
獲得任何數據。webapp2 self.request.get返回零
HTML片段
<div id="select_OS">
<form action="/optin" role="form" class="form-horizontal" method="post" enctype="text/plain">
<div class="form-group">
<div class="input_contents">
<ul id="phone_list" class="list-unstyled">
<li><label><input type="radio" class="" name="device" value="android"> Android</label></li>
<li><label><input type="radio" class="" name="device" value="iphone"> IPhone</label></li>
</ul>
</div>
</div>
<div class="container">
<p class="info_txt_bottom"><span class="glyphicon glyphicon-asterisk"></span>
Instructions for
</p>
</<div>
<div class="form-group email_content">
<div class="col-xs-6 col-sm-8 col-md-8 enteremail"><input type="email" class="form-control input-lg " id="email" name="email" placeholder="Enter Your Email" required></div>
<div class="col-xs-6 col-sm-4 col-dm-4" ><div class="sentbutton">
<button type="submit" class="btn btn-success input-lg colorBlack">Send</button>
</div></div>
</div>
</form>
</div>
的Python代碼片段
class ReadForm(webapp2.RequestHandler):
def post(self):
logging.warning('The email is %s',self.request.get('email'))
logging.warning('The device is %s',self.request.get('device'))
app = webapp2.WSGIApplication([
('/', MainHandler),
('/optin', ReadForm),
], debug=True)
再次,僅記錄打印「電子郵件是」不包括用戶輸入實際的電子郵件地址。 「設備是」的相同問題。爲什麼表單數據不被傳遞?
UPDATE
當我做logging.warning('The REQUEST %s',self.request)
,我得到
/optin HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.8
Cache-Control: max-age=0
Content-Length: 31
Content-Type: text/plain
Content_Length: 31
Content_Type: text/plain
Dnt: 1
…
device=android
[email protected]
通知的最後兩行。這些是我一直試圖用self.request.get
提取的數據,但我一直在空回。
實際上數據被通過,因爲如果我這樣做'logging.warning通過(「的請求%s」的, self.request)'我看到了一切。所以它是'self.request.get'不工作。 – learner 2014-11-06 06:12:36