SendCloud物流提供商集成方案用于django-shop
项目描述
SendCloud物流提供商集成方案用于django-SHOP
此方案集成了SendCloud API,适用于django-SHOP版本1.0及以上。
安装
对于django-SHOP版本1.0及更高版本
pip install djangoshop-sendcloud<1.1
准备
在SendCloud创建一个账户。
在您的个人账户设置中,点击设置。在那里
- 添加一个寄件地址。
- 在财务 > 直接借记中添加您的定期付款设置。在那里,您的银行账户会被扣除0.01欧元,但这可能需要几个小时甚至一天时间才能完成所有检查。
- 在选定商店中选择您选择的名称的SendCloud API。在那里,提取公钥和私钥(见下文)。
配置
在商家的项目settings.py
中
将'shop_sendcloud'
添加到INSTALLED_APPS
。
将'shop_sendcloud.modifiers.SendcloudShippingModifier'
添加到SHOP_CART_MODIFIERS
列表中。
将'shop_sendcloud.shipping.OrderWorkflowMixin'
添加到SHOP_ORDER_WORKFLOWS
列表中。
如果您使用的是部分配送的django-SHOP,请将OrderItemSerializer
替换为提供的版本:SHOP_ORDER_ITEM_SERIALIZER = 'shop_sendcloud.serializers.OrderItemSerializer'
,并将工作流程更改为
SHOP_ORDER_WORKFLOWS = [
...
'shop_sendcloud.workflows.CommonOrderWorkflowMixin',
'shop.shipping.workflows.PartialDeliveryWorkflowMixin',
]
否则,如果没有部分配送,请将工作流程更改为
SHOP_ORDER_WORKFLOWS = [
...
'shop_sendcloud.workflows.SingularOrderWorkflowMixin',
'shop.shipping.workflows.CommissionGoodsWorkflowMixin',
]
添加由SendCloud提供的公钥和私钥(见上文)
SHOP_SENDCLOUD = {
'API_KEY': '<public-key-as-provided-by-SendCloud>',
'API_SECRET': '<secret-key-as-provided-by-SendCloud>',
}
由于SendCloud为我们设置了运单ID,我们在后端禁用该字段,使用SHOP_MANUAL_SHIPPING_ID = False
。
SendCloud需要特定的地址模型,因此请确保您使用djangoshop-sendcloud
提供的地址模型,而不是来自shop/models/defaults/address
的默认值。
通常,将BillingAddress
、ShippingAddress
和Customer
的替代类导入您的商家实现models.py
中就足够了。
from shop_sendcloud.models.address import BillingAddress, ShippingAddress
from shop_sendcloud.models.customer import Customer
初始化
根据需要创建两个额外的数据库表,由djangoshop-sendcloud
要求。
python manange.py migrate djangoshop_sendcloud
最后,将所有可能的配送选项加载到您的商店中。
python manange.py sendcloud_import
请记住定期运行此任务,例如每周一次,以更新运费价格。
使用方法
当django-SHOP
在结账视图中渲染配送方式
表单时,将出现额外的选项。对于在SendCloud
后端配置的每个承运商,都会出现一个额外的单选按钮。无论客户选择什么,都会存储在django-SHOP
的OrderModel
中。
在Django管理后端,只有在完成订单后,才会出现名为打印运单
的新按钮。点击该按钮从SendCloud API获取PDF文档,并将其转发到Django管理界面,在那里可以打印出来。
项目详情
djangoshop-sendcloud-1.2.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6eed4711c8cd5f6ad2168969f8b9b1b910f469b8d1337f371ea7813a647c6198 |
|
MD5 | 9a29e89eb816dbe0b983b0042d1198cc |
|
BLAKE2b-256 | 5007422aae61192cb6fd23e2e345eb1d5bfdbbfc9715783c4da3058725f52c82 |