构建一种维基。在以下函数中,我正在检查页面是否已存在。如果没有,它应该重定向到编辑页面。但它无限重定向,直到浏览器停止它。 '_edit'handler什么都没做......
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)
答案 0 :(得分:1)
尝试将您的EditWiki路线移至WikiPage路线之前。 PAGE_RE与_editMyPageName匹配,因此在EditWiki开始之前抓取它。我会说,对于每个重定向,您的页面名称只会获得额外的'_edit'前缀..