0
我在GAE上構建了一個簡單的wiki,我想在將內容放入數據存儲時將常規重定向添加到處理程序中。但是直到我提交兩次後才重新定向到內容頁面不是編輯頁面本身。[gae]重定向僅在第二次後成功
Here is my handler code:
class BlogHandler(webapp2.RequestHandler):
def write(self, *a, **kw):
self.response.out.write(*a, **kw)
def render_str(self, template, **params):
params['user'] = self.user
t = jinja_env.get_template(template)
return t.render(params)
def render(self, template, **kw):
self.write(self.render_str(template, **kw))
class WikiFront(BlogHandler):
def get(self, url):
#pages = WikiData.all()
pages = db.GqlQuery("SELECT * FROM WikiData")
found = False
content = ""
for page in pages:
if page.url == url:
found = True
content = page.content
if not found:
self.redirect("/_edit" + url)
else:
self.render('wiki.html', content=content, url=url)
class EditPage(BlogHandler):
def get(self,url):
if self.user:
self.render("wiki_edit.html")
else:
self.redirect("/login")
def post(self,url):
content = self.request.get('content')
if content:
w = WikiData(parent = wiki_key(), content = content, url= url)
w.put()
self.redirect('/wiki' + url)
else:
error = "Give us content plz"
self.render("wiki_edit.html", content=content, error=error)
# mapping stuff
app = webapp2.WSGIApplication([
('wiki' + PAGE_RE, WikiFront),
('/_edit' + PAGE_RE, EditPage),
],
debug=True)
EditPage.post方法發生重定向問題嗎?這不是很清楚。儘量避免假設的範圍以獲得有用的答案。 – kevin 2013-03-26 14:34:31