【发布时间】:2017-07-07 00:49:08
【问题描述】:
在从表单发布数据并使用 webapp2 处理时遇到一些问题。
我不确定如何在 webapp2 中处理来自表单的数据,包括使用表单操作将数据发布到哪个页面。
我的表单在“/schedule/create-consult”页面上。我最初正在测试将前两个字段提交到同一页面(即,将名字和姓氏发布到 /schedule/create-consults)。
我的表单是这样的
<form method="post" action="/schedule/create-consult">
<div class="row">
<div class="col-md-6">
<label>First Name</label>
<input class="form-control input-lg" type="text" name="first_name" />
<br/>
</div>
<div class="col-md-6">
<label>Last Name</label>
<input class="form-control input-lg" type="text" name="last_name" />
</div>
<input type="submit" value="save">
</div>
</form>
当我点击“保存”按钮时,我会收到消息:
405 Method Not Allowed - 该资源不允许使用 POST 方法。
我的路线是这样的
app = webapp2.WSGIApplication([
('/', MainPage),
('/schedule', SchedulePage),
('/consults', ConsultsPage),
('/schedule/create-consult', CreateConsultPage),
('/consults/john-smith-030617-0930', JohnSmithPage)
], debug=True)
我的 CreateConsultsPage 处理程序如下所示
class CreateConsultPage(webapp2.RequestHandler):
def get(self):
template = JINJA_ENVIRONMENT.get_template('/templates/create-consult.html')
self.response.out.write(template.render())
而我的app.yaml如下:
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /css
static_dir: css
- url: /images
static_dir: images
- url: /js
static_dir: js
- url: /
script: main.app
- url: /schedule
script: main.app
- url: /consults
script: main.app
- url: /schedule/create-consult
script: main.app
- url: /consults/john-smith-030617-0930
script: main.app
libraries:
- name: webapp2
version: latest
- name: jinja2
version: latest
【问题讨论】:
-
def get(self): 和下一行之间应该有一个缩进
标签: python-2.7 google-app-engine webapp2