2010-10-06 233 views
1

在我的Pylons應用程序中處理POST數據的最佳方式是什麼?我試過了:主塔 - 處理GET和POST請求

  • 有一個獨立的GET方法和一個帶有rest.restrict('post')裝飾器的POST方法。問題 - 如果存在驗證錯誤,則無法重新顯示用戶輸入的數據,因爲您必須重定向回GET方法,或者必須直接使用POST方法呈現模板。不幸的是,這看起來很奇怪,因爲URL必須更改爲與POST操作相對應。

  • 將它全部用一種方法,並檢測表單是否已通過request.method上的檢查發佈。這工作不錯,但似乎笨拙有,如果request.method ==「後」:如果標有...

回答

2

擁有這一切在一個方法,並檢測:...否則通過request.method檢查發佈。這工作正常,但它似乎笨拙,如果request.method =='後':...其他:...

我不知道爲什麼你形容這是笨拙的。切換請求方法是跨語言的網絡應用程序世界中的有效習慣用法。對於例如您會發現Django視圖具有基於request.method的不同處理請求的單個視圖。同樣在Java中,Servlets有doPost()doGet()方法爲GETPOST請求提供不同的行爲。

更新

我只是寧願他們分成不同的方法,如果可能的話。許多其他web框架都這樣做

這種方法也沒有錯。我只是指出使用相同的方法處理它們同樣有效。

+0

如果可能的話,我寧願讓它們分成不同的方法。許多其他Web框架都這樣做。 – 2010-10-06 09:42:41

+0

@Matt H:這種方法也沒有錯。我只是指出使用相同的方法處理它們同樣有效 – 2010-10-06 09:44:07