2012-06-03 6 views
0

Тип здания wiki. В следующей функции я проверяю, существует ли страница. Если нет, он должен перенаправить на страницу редактирования. но он перенаправляет бесконечно, пока браузер не остановит его. «_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 – user1322731

+0

Забавно, потому что я думал, что это часть URL-адреса (именно так вы его используете). В частности, я хотел знать значение * для * pageName. –

ответ

1

попытка переместить свой EditWiki маршрут до трассы вики страницы. PAGE_RE соответствует _editMyPageName, поэтому он захватывает его до того, как EditWiki получит доступ. Я бы сказал, что для каждого перенаправления имя вашей страницы получает дополнительный «_edit».

+0

Вы правы! большое спасибо – user1322731