Я работаю над очень простой программой python, где я представляю пользователю форму для выбора Android или IPhone и для ввода адреса электронной почты. Ниже приведены коды html и python. По какой-то причине я не получаю никаких данных от self.request.get
.webapp2 self.request.get возвращает nil
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 («The запрос% s», self.request) 'Я вижу все. Так что это 'self.request.get', это не работает. – learner