2011-10-10 99 views
0

常見的情況:Django的:處理後的交易邏輯

  1. 用戶選擇的項目添加到購物車

  2. 用戶使得通過異地支付網關如PayPal或 WorldPay的支付

  3. 用戶獲取重定向到付款頁面並付款

  4. 付款門戶發送POS牛逼請求回調URL

  5. 用戶被重定向到您的網頁

第4步,通常下面的事情發生:

  1. 錯誤處理和防欺詐檢查

  2. 更新訂單/購物車型號和附加邏輯

我的問題是有關本步驟4:

在應用程序,如Django-Paypal,而不是做在回調URL視圖函數的所有邏輯處理,信號被代替使用。這是否有很好的理由?爲什麼不只是在回調url視圖函數上做所有的邏輯?

回答

1

使用信號從您自己的應用程序中分離django-paypal。付款成功或失敗時,您可以進行各種瘋狂的自定義工作,並仍然使用默認提供的視圖。

Django 1.3中基於類的視圖確實可以擴展視圖,並提供解耦應用視圖的替代方法。

在將邏輯放入視圖之前,您應該具備的其他注意事項是時間;如果邏輯可能需要很長時間(如任何I/O),請問自己是否對手頭的響應至關重要,並考慮將其放入任務隊列中,以便您可以快速處理請求而不會阻塞。