2013-05-08 202 views
0

我正在使用Google應用程序引擎,並且當表單引用時,我想用參數重定向到另一個頁面。Python jinja2重定向傳遞參數

這是第一種形式:

<form method="post" class="form-inline pull-left"> 
    <div class="input-append"> 
    <input type="text" required name="askquestion" class="span5"/> 
    <button type="submit" name="askbutton" class="btn-u" value="askbutton">Ask</button> 
    </div> 
</form> 

在這裏,後端:

askbutton = self.request.get("askbutton") 
if askbutton: 
    title = self.request.get("askquestion") 
    self.render("makeaquestion.html",title=title) 

我已經嘗試另一個問題:

self.redirect("/makeaquestion?title='%s'"%title) 

第一個呈現新的HTML並傳遞參數,但url保持不變。第二個重定向到新的url,但沒有傳遞參數。

回答

2

設置表單的action屬性:

<form action="/makequestion" method="post" class="form-inline pull-left"> 
    <div class="input-append"> 
    <input type="text" required name="askquestion" class="span5"/> 
    <button type="submit" name="askbutton" class="btn-u" value="askbutton">Ask</button> 
    </div> 
</form> 

這將提交一個POST請求(與填寫的數據)/makequestion

0

你的第二個方法: self.redirect(「/ ?makeaquestion標題= '%s' 的「%標題) 應該是成功的,如果你是從網址在你的處理器拉動PARAMS:

class HandleMakeQuestion(webapp2.RequestHandler): 
    def get(self, params): 
     title = self.request.get('title') 
     logging.info("Title: %s" %(title)) 

這可能還需要一些正則表達式在你的處理器的路由:

app = webapp2.WSGIApplication([('/makeaquestion([^/]+)', HandleMakeQuestion)]) 
+0

他是用POST得不到 – dav1d 2013-05-12 17:51:12

+0

第二種方法重定向,其中包括在網址參數:獲取。 – rGil 2013-05-12 18:04:59

+0

正確,他想將它作爲POST傳遞。 – dav1d 2013-05-12 18:15:34