看板 Python 關於我們 聯絡資訊
小弟現在正在用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
uranusjr:最簡單的方法直接在 redirect 的網址加上 query string 12/10 01:09
uranusjr:這些東西會變成 get 的 arguements 12/10 01:09
uranusjr:當然用 post form 也是可以, 詳見 http://goo.gl/F2Vtz 12/10 01:10
swpoker:registry?應該就是 request期間用的啦 12/10 11:31
swpoker:或是用session拉~from webapp2_extras import sessions 12/10 11:34
swpoker:只是這裡最好用registry 12/10 11:34
NewSpec:request.registry不行喔, 在redirect之後的request中是沒 12/10 14:41
NewSpec:有資料的 12/10 14:41
swpoker:看API裡面~說redirect可以把request帶過去阿 12/11 10:34
NewSpec:試過了 沒用Q__Q 12/11 23:04