Я решил проблему по-своему:
Моя форма (пост направлен на другую функцию, а не просто "/", как в примере Google):
class Projects(webapp.RequestHandler):
def get(self):
self.response.out.write('<html><body>'
'<form method="POST" '
'action="/ProjectsPage">'
'<table>')
self.response.out.write(ProjectForm())
self.response.out.write('</table>'
'<input type="submit">'
'</form></body></html>')
А потомчто мне нужно записать в хранилище данных и отобразить список:
class ProjectsPage(webapp.RequestHandler):
#getting data and saving
def post(self):
data = ProjectForm(data=self.request.POST)
if data.is_valid():
# Save the data, and redirect to the view page
entity = data.save(commit=False)
entity.added_by = users.get_current_user()
entity.put()
self.redirect('/projects.html')
else:
# Reprint the form
self.response.out.write('<html><body>'
'<form method="POST" '
'action="/">'
'<table>')
self.response.out.write(data)
self.response.out.write('</table>'
'<input type="submit">'
'</form></body></html>')
#display list of projects
def get(self):
query = db.GqlQuery("SELECT * FROM Project WHERE added_by=:1 ORDER BY name",users.get_current_user())
template_values = {
'projects': query,
}
path = os.path.join(os.path.dirname(__file__), 'templates/projects.html')
self.response.out.write(template.render(path, template_values))