2012-06-03 2 views
0

위키의 건물 종류입니다. 다음 함수에서 이미 페이지가 있는지 확인합니다. 그렇지 않으면 편집 페이지로 리디렉션되어야합니다. 브라우저가 멈출 때까지 무한대로 리디렉션됩니다. '_edit'handler는 아직 아무것도하지 않습니다 ...Google App Engine 리디렉션 오류

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

'pageName'에 무엇이 있습니까? –

+0

일부 reqular expression – user1322731

+0

재밌 네요, 왜냐하면 제가 URL의 일부라고 생각했기 때문이죠. 좀 더 구체적으로'pageName'에 대한 예제 값 *을 알고 싶었습니다. –

답변

1

WikiPage 경로 이전에 EditWiki 경로를 이동하십시오. PAGE_RE는 _editMyPageName과 일치하므로 EditWiki를 시작하기 전에 잡아라. 각각의 리다이렉트에 대해 페이지 이름 앞에 여분의 '_edit'이 붙습니다.

+0

네 말이 맞다! 대단히 감사합니다. – user1322731