我是谷歌应用引擎/网络应用的新手,并试图让一个简单的应用运行。该应用程序将用于演示汽车租赁服务。我想有一个请求处理程序,用于添加处理添加汽车页面的get和post的新车。
获取应返回要填写和提交的表单。该帖子应该添加汽车(我还没有担心这个),然后返回一个类似的页面,其中包含一个表格和'汽车成功添加'或类似的东西。
这是我的方法:
网址映射:
application = webapp.WSGIApplication([('/employee/add/car', AddCar)],
debug=True)
AddCar:
class AddCar(webapp.RequestHandler):
def get(self):
self.response.out.write(template.render('templates/addcar.html', {}))
def post(self):
self.response.out.write(template.render('templates/addcarsuccess.html', {}))
addcar.html模板:
{% extends "base.html" %}
{% block body %}
<h2>Add a Car</h2>
<form action="/employee/add/car" method="post">
<label>Make</label>
<input type="text" name="make"></input>
<br/>
<input type="submit"></input>
</form>
{% endblock body %}
当我提交上面显示的表单时,我收到405 Method Not Allowed
响应。
我尝试在post函数中进行打印,引发异常等,以查看是否正在调用它并且它看起来不像它。
我尝试将帖子拉到一个单独的类中,这似乎有效,但我宁愿将它们放在同一个处理程序中。
我希望我错过了一些简单易懂的东西。
任何想法?
感谢。
答案 0 :(得分:3)
我已经测试了您的代码并且是正确的,我的猜测是代码中的原始post
方法有一些缩进错误。