[問題] 請問appengine如何redirect並攜帶資訊?

看板Python作者 (新規格)時間13年前 (2012/12/10 00:07), 編輯推噓3(307)
留言10則, 3人參與, 最新討論串1/1
小弟現在正在用App Engine寫一個小網站 其中當然有輸入表單後 將資料送給伺服端的功能 例如 /login 對應 LoginHandler class LoginHandler(webapp2.RequestHandler): def get(self): template = JINJA_ENV.get_template('login.html') self.response.out.write(template.render()) login頁面的form在按下submit後會將資料丟給 /register (RegisterHandler) class RegisterHandler(webapp2.RequestHandler): def post(self): if not self.request.POST['username']: # 將未填入使用者的錯誤訊息放入某個地方 return self.redirect('/login') ''' ...other code... ''' 我希望當RegisterHandler檢查到某些錯誤資料後 能帶著一些訊息並redirect回/login 但問題來了, 我試過self.request.POST, self.request.GET及self.request.registry 都沒有辦法將訊息帶回給LoginHandler 請問有人知道這個問題該怎麼解決的嗎@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.224.219.44

12/10 01:09, , 1F
最簡單的方法直接在 redirect 的網址加上 query string
12/10 01:09, 1F

12/10 01:09, , 2F
這些東西會變成 get 的 arguements
12/10 01:09, 2F

12/10 01:10, , 3F
當然用 post form 也是可以, 詳見 http://goo.gl/F2Vtz
12/10 01:10, 3F

12/10 11:31, , 4F
registry?應該就是 request期間用的啦
12/10 11:31, 4F

12/10 11:34, , 5F
或是用session拉~from webapp2_extras import sessions
12/10 11:34, 5F

12/10 11:34, , 6F
只是這裡最好用registry
12/10 11:34, 6F

12/10 14:41, , 7F
request.registry不行喔, 在redirect之後的request中是沒
12/10 14:41, 7F

12/10 14:41, , 8F
有資料的
12/10 14:41, 8F

12/11 10:34, , 9F
看API裡面~說redirect可以把request帶過去阿
12/11 10:34, 9F

12/11 23:04, , 10F
試過了 沒用Q__Q
12/11 23:04, 10F
文章代碼(AID): #1GnBTInr (Python)
文章代碼(AID): #1GnBTInr (Python)