本站首页    管理页面    写新日志    退出


«October 2025»
1234
567891011
12131415161718
19202122232425
262728293031


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7634631
建立时间:2006年5月29日




[TurboGears]一分鐘 TurboGears - 處理表單參數 (form handler) 講解
软件技术

lhwork 发表于 2007/2/25 13:55:53

1.傳送表單5 <form name="add" method="post" action="/calcit">表示名稱為"add"的表單, 使用"post"的方式, 傳送到"/calcit"連結做處理.2. 使用樣板4 template = """5 <form >...8 </form>9 """在 TurboGears 中, 除了可以直接在程式中傳回網頁連結外, 同樣地也可以直接在程式中傳回整個頁面的樣板, 3. 樣版中嵌入傳回值3 @expose(inputform ="add")...6 <input name="A" type="text" value="%s"/> + <input name="B" type="text" value="%s"/>7 <input type="submit" value="=" /> <input name="SUM" type="text" value="%d"/>8 </form>9 """...11 return template%(A,B,SUM)在 TurboGears 中, 寫出並"@expose()"的方法/函數就對應到同名的網頁, 因此在頁面的樣版(即一串字串)中當然可以嵌入傳回值. 那麼若是在同一網頁中有一個以上表單時該如何處理這些傳回的參數呢? 在"@expose()"方法中可以用 inputform 參數來指定要處理的傳入表單傳回的值需要注意型態問題(%d對應到數字, %s對應到字串,...etc).3. 表單處理3 def calcit(self,A=0,B=0, SUM=0):...11 return template%(A,B,SUM)在 TurboGears 中以一致的方式處理使用"post"和"get"方法傳送到 TurboGears Server 的表單.我們可以從方法/函式(Method)的參數中取得這些表單傳回的值.本例子中因為使用同一個函數來顯示網頁與處理網頁傳回的參數 (A欄位, B欄位, 加總結果欄位), 第3行方法/函式取得的參數就是網頁傳回的參數, 第11行回傳的值則是用來在網頁上顯示結果. 你可以試試看如果將回傳的值去掉, 再看到表單欄位上值是不是永遠都是 0 呢 :-)4. 回傳值處理3 def calcit(self,A=0,B=0, SUM=0):...10 SUM = (int(A)+int(B))從表單接收所有預設回傳的值都會是字串格式(之後介紹到 validators() 方法可以在此改變回傳格式並確認格式正確性).


阅读全文(4515) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.721 second(s), page refreshed 144818576 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号