gpt4 book ai didi

django - 默认运输方式

转载 作者:行者123 更新时间:2023-12-03 09:09:40 28 4
gpt4 key购买 nike

我正在尝试在 Django-oscar 中编写基于国家/地区和重量的运输方法。看来默认的运输方式也必须有这些

     from oscar.apps.shipping.methods import Free, FixedPrice, NoShippingRequired

我不需要上述任何内容,只会通过折扣提供运费折扣。

我如何通过repository.py编写,这样我就不会应用任何这些oscar.apps.shipping.methods import Free,FixedPrice,NoShippingRequired

所以我可以编写我的类存储库(CoreRepository):

不写

   methods += [NoShippingRequired()]

methods += [FixedPrice()]

methods += [Free()]

我编写的方法不是基于代码的,而是通过仪表板中的发货菜单实现的。我按照以下步骤设置了运费。

https://groups.google.com/forum/#!topic/django-oscar/H4tf20ujm8k

测试时,在“送货菜单”页面上,“手工送货”和我的基于重量的按国家/地区送货方式按钮都会显示给客户。这意味着即使客户来自国外,客户也可以单击手工交付按钮。我希望禁用“送货方式”页面上的“手工送货”按钮,因此客户根本无法选择该选项。

另一种选择是在此按钮上附加一条消息,让客户明白单击该按钮意味着安排在预订后 1 周内从仓库提货。

如何向客户显示该消息?客户未进入付款页面。并且发送电子邮件以便可以在 7 天内领取元素?与 argos 类似,预订、购买、购物、付款和提货。所以我可以将“HandDelivery”的描述更改为预订。然后客户不付款,而是在取货时付款。但如何呢?

最佳答案

编辑:显然奥斯卡有几种定义运输的方法;更新答案以涵盖仪表板中定义的方法!


一旦你有forked Oscar's shipping app ,您可以覆盖存储库类并仅返回您想要的运费。

如果您通过仪表板定义了基于重量的运输,则可以使用 WeightBased 模型获取它,并且仅返回该值:

forked_apps/shipping/repository.py:

from oscar.apps.shipping import repository
from oscar.core.loading import get_model
from . import methods

WeightBased = get_model('shipping', 'WeightBased')

class Repository(repository.Repository):
def get_available_shipping_methods(self, basket, user=None,
shipping_addr=None, request=None, **kwargs):

if shipping_addr:
weightbased_set = WeightBased.objects.all()

if weightbased_set:
return ( list(weightbased_set), )

# If no address was specified, or weight-based options are
# not available, return the "Reserve" shipping option
return ( methods.Reserve(), )

forked_apps/shipping/methods.py:

from oscar.apps.shipping import methods

class Reserve(methods.NoShippingRequired):
code = 'RESERVE'
name = 'Reserve'
description = 'Items will be reserved at the warehouse for 7 days'

延迟付款将涉及 fork payment app ,并且值得自己提出问题。

Oscar 文档的“How to configure shipping”部分中还提供了一些有关进一步自定义运输选项的有用信息。

关于django - 默认运输方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43726762/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com