代碼:Django的:和request.GET中KeyError異常
# it's an ajax request, so parameters are passed via GET method
def my_view(request):
my_param = request.GET['param'] // should I check for KeyError exception?
在PHP框架我通常要檢查參數存在某處重定向用戶,如果它沒有。但是在Django中,未出現的參數導致500錯誤頁面,並且它看起來是期望的行爲。那麼保留代碼還是有更好的實踐是可以的?我應該總是使用像/ myaction/paramvalue /而不是/ myaction傳遞的標準參數嗎?param_name = param_value(爲Ajax請求建立這樣的URL有點困難)?
btw嘗試...除了塊似乎是更好的情況下,我有幾個參數(除了塊insteat幾個檢查無)。 – glss 2010-10-02 12:22:15
是的,的確如此。您也可能會發現,您必須對參數進行更具體的檢查,以確定適當的值範圍,參數之間的兼容性等。 – 2010-10-02 12:49:18
我使用django表單來驗證輸入,即使對於ajax調用。如果您有許多輸入參數,使用起來更容易,並且它爲您完成大部分工作。 – OmerGertel 2010-10-02 14:42:09