我是Python、GAE和数据存储模型的新手。所以有很多事情我还不知道,所以请耐心点:)
我正在开发一个web服务,它允许人们发布一个项目的“name”和“desc”(描述),它将包含在同一页面的表中。但是,当我点击提交按钮时,我得到了一个错误:404找不到,资源找不到。在
我预计下面显示的代码中有很多地方是错误的(我只包含一些我认为与之相关的代码片段,以便于阅读),而我最大的问题是我不知道哪些部分是错误的,也不知道该问哪些特定的问题。但是我希望我能利用这个机会来了解我的代码中涉及的所有东西(Jinja、HTML、GQL等等),以及如何将它们组合在一起。在
class Events(ndb.Model):
name = ndb.StringProperty()
desc = ndb.StringProperty()
class Promote(webapp2.RequestHandler):
def get(self):
query = ndb.gql("SELECT * "
"FROM Events "
)
template_values = {"events" : query,}
template = jinja_environment.get_template('promote.htm')
self.response.out.write(template.render(template_values))
def post(self):
event = Events(name = self.request.get('name'), desc = self.request.get('desc'))
event.put()
self.redirect('/promote')
app = webapp2.WSGIApplication([('/', Main),
('/publicsearch', PublicSearch),
('/promote', Promote)],
debug=True)
这是我为那个页面编写的html代码。在
^{pr2}$
您的表单正试图发布到url为
/wishlist
的处理程序,但是您注册的post方法的唯一处理程序是/promote
。在这些东西需要搭配。更改窗体或处理程序映射。在
另外,当你在它的时候,检查你的
app.yaml
是否有意义。在日志中查看一下,您将看到请求的URL。在相关问题 更多 >
编程相关推荐