【问题标题】:Django: Handling post transaction logicDjango:处理事务后逻辑
【发布时间】:2011-10-10 17:00:45
【问题描述】:

常见用例:

  1. 用户选择要添加到购物车的商品

  2. 用户通过非现场支付网关(如 paypal 或 世界支付

  3. 用户被重定向到支付页面并进行支付

  4. 支付门户向回调 URL 发送 POST 请求

  5. 用户被重定向回您的页面

在第 4 步,通常会发生以下情况:

  1. 错误处理和反欺诈检查

  2. 更新订单/购物车模型和其他逻辑

我的问题与第 4 步有关:

Django-Paypal 等应用程序中,不是对回调 url 视图函数进行所有逻辑处理,而是使用信号。这有充分的理由吗?为什么不只做回调 url 视图函数的所有逻辑呢?

【问题讨论】:

    标签: django


    【解决方案1】:

    信号的使用将 django-paypal 与您自己的应用程序分离。您可以在项目中的付款成功或失败时发生各种疯狂的自定义事情,并且仍然使用默认提供的视图。

    Django 1.3 中基于类的视图确实可以扩展视图,并提供一种解耦应用程序视图的替代方法。

    在将逻辑放入视图之前您应该考虑的其他因素是时间;如果逻辑可能需要很长时间(就像任何 I/O 一样),请问问自己它们是否对手头的响应至关重要,并考虑将其放入任务队列中,这样您就可以快速处理请求,而不会阻塞。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 2013-05-19
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      相关资源
      最近更新 更多