一種の wiki を構築します。次の関数では、ページが既に存在するかどうかを確認しています。そうでない場合は、編集ページにリダイレクトする必要があります。ただし、ブラウザが停止するまで、無限にリダイレクトされます。「_edit」ハンドラはまだ何もしません...
def get(self, pageName):
p = db.GqlQuery("SELECT * FROM Pages")
pages = p.run(batch_size = 1000)
pageExist = False
for page in pages:
if pageName == page.pagename:
pageExist = True
break
if pageExist:
self.render_wiki(pageName, page.content)
else:
self.redirect('/_edit' + pageName)
PAGE_RE = r'(/(?:[a-zA-Z0-9_-]+/?)*)'
app = webapp2.WSGIApplication([('/', MainPage), ('/signup', Signup) , ('/login', Login),('/logout', Logout), (PAGE_RE, WikiPage), ('/_edit' + PAGE_RE, EditWiki)], debug = True)