在到达Django Oscar时付款?

所以我自定义了Django-oscar,一切正常,直到付款步骤

Enter payment details
This page needs implementing within your project. You may want to use one of Oscar's payment gateway libraries:

django-oscar-paypal
django-oscar-datacash
django-oscar-gocardless
django-oscar-paymentexpress
django-oscar-accounts
Continue

我不想在线付款,我的快递员将发送包裹并收取费用。是否可以将django-oscar配置为接受到达付款方式付款?

Arpit辛格

结帐后,您必须提供帐单地址的表单页面。

在apps / checkout / view.py内部

from django.contrib import messages
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from oscar.apps.checkout import views
from oscar.apps.payment import forms, models

class PaymentDetailsView(views.PaymentDetailsView):

    def get_context_data(self, **kwargs):
        # Override method so the billing address forms can be
        # added to the context.
        ctx = super(PaymentDetailsView, self).get_context_data(**kwargs)
        ctx['billing_address_form'] = kwargs.get(
            'billing_address_form', forms.BillingAddressForm())
        return ctx

    def post(self, request, *args, **kwargs):
        # Override so we can validate the bankcard/billingaddress submission.
        # If it is valid, we render the preview screen with the forms hidden
        # within it.  When the preview is submitted, we pick up the 'action'
        # parameters and actually place the order.
        if request.POST.get('action', '') == 'place_order':
            return self.do_place_order(request)
        billing_address_form = forms.BillingAddressForm(request.POST)
        if not all([billing_address_form.is_valid()]):
            # Form validation failed, render page again with errors
            self.preview = False
            ctx = self.get_context_data(billing_address_form=billing_address_form)
            return self.render_to_response(ctx)
        # Render preview with bankcard and billing address details hidden
        return self.render_preview(request, billing_address_form=billing_address_form)

    def do_place_order(self, request):
        billing_address_form = forms.BillingAddressForm(request.POST)
        if not all([billing_address_form.is_valid()]):
            messages.error(request, "Invalid submission")
            return HttpResponseRedirect(reverse('checkout:payment-details'))
        submission = self.build_submission()
        submission['payment_kwargs']['billing_address'] = billing_address_form.cleaned_data
        return self.submit(**submission)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django Oscar自适应贝宝付款

来自分类Dev

如何使用JQuery在到达div点时删除文本

来自分类Dev

具有动态矩阵的程序在到达printf时崩溃

来自分类Dev

Java程序停顿,然后在到达循环时停止

来自分类Dev

Python 36(Eclipse Oxygen,PyDev)在到达断点时崩溃

来自分类Dev

Android-ListView在到达终点时加载更多项目

来自分类Dev

在到达第一个None时如何停止构建Option [Collection]?

来自分类Dev

如何制作动画情节以在到达最后一个动画步骤时停止回滚?

来自分类Dev

正则表达式在到达 时停止检测链接

来自分类Dev

返回浮点指针会在到达主函数时更改地址

来自分类Dev

在到达第一个None时如何停止构建Option [Collection]?

来自分类Dev

在到达视口顶部时将数据类型值设置为元素

来自分类Dev

协调器布局滚动标志可在到达顶部时自动显示

来自分类Dev

查询字符串中的 ViewModel 属性在到达控制器时未绑定

来自分类Dev

Python Shell 在到达某个检查列表中项目的方法时卡住了

来自分类Dev

将AMERICAN EXPRESS付款源与django-oscar 0.6集成

来自分类Dev

将AMERICAN EXPRESS付款源与django-oscar 0.6集成

来自分类Dev

Django Oscar - 在结账过程中,付款详细信息过程被跳过

来自分类Dev

在到达某个区域时将CSS应用于移动的div。静态放大镜,用于移动元素

来自分类Dev

如何在到达缓冲区而不是缓冲区已满时读取缓冲区中的数据?

来自分类Dev

在Django中将Postgres与Oscar同步时发生编程错误

来自分类Dev

Django oscar搜索在分页时返回相同的结果

来自分类Dev

使用sed将括号括在<p>标记的多行周围,并在到达<h1>,<h2>,<h3>时停止

来自分类Dev

php在while循环中添加一个计数器并在到达该计数器时返回到新行

来自分类Dev

程序在到达while循环之前结束

来自分类Dev

使用django-oscar创建自己的商店时出现设置错误

来自分类Dev

使用django-oscar创建自己的商店时出现设置错误

来自分类Dev

Django和django oscar

来自分类Dev

在到达“最终使用”之前将DataAdapter丢弃

Related 相关文章

  1. 1

    Django Oscar自适应贝宝付款

  2. 2

    如何使用JQuery在到达div点时删除文本

  3. 3

    具有动态矩阵的程序在到达printf时崩溃

  4. 4

    Java程序停顿,然后在到达循环时停止

  5. 5

    Python 36(Eclipse Oxygen,PyDev)在到达断点时崩溃

  6. 6

    Android-ListView在到达终点时加载更多项目

  7. 7

    在到达第一个None时如何停止构建Option [Collection]?

  8. 8

    如何制作动画情节以在到达最后一个动画步骤时停止回滚?

  9. 9

    正则表达式在到达&nbsp;时停止检测链接

  10. 10

    返回浮点指针会在到达主函数时更改地址

  11. 11

    在到达第一个None时如何停止构建Option [Collection]?

  12. 12

    在到达视口顶部时将数据类型值设置为元素

  13. 13

    协调器布局滚动标志可在到达顶部时自动显示

  14. 14

    查询字符串中的 ViewModel 属性在到达控制器时未绑定

  15. 15

    Python Shell 在到达某个检查列表中项目的方法时卡住了

  16. 16

    将AMERICAN EXPRESS付款源与django-oscar 0.6集成

  17. 17

    将AMERICAN EXPRESS付款源与django-oscar 0.6集成

  18. 18

    Django Oscar - 在结账过程中,付款详细信息过程被跳过

  19. 19

    在到达某个区域时将CSS应用于移动的div。静态放大镜,用于移动元素

  20. 20

    如何在到达缓冲区而不是缓冲区已满时读取缓冲区中的数据?

  21. 21

    在Django中将Postgres与Oscar同步时发生编程错误

  22. 22

    Django oscar搜索在分页时返回相同的结果

  23. 23

    使用sed将括号括在<p>标记的多行周围,并在到达<h1>,<h2>,<h3>时停止

  24. 24

    php在while循环中添加一个计数器并在到达该计数器时返回到新行

  25. 25

    程序在到达while循环之前结束

  26. 26

    使用django-oscar创建自己的商店时出现设置错误

  27. 27

    使用django-oscar创建自己的商店时出现设置错误

  28. 28

    Django和django oscar

  29. 29

    在到达“最终使用”之前将DataAdapter丢弃

热门标签

归档