为Django Shop提供Sendcloud航运提供商集成
djangoshop-sendcloud的Python项目详细描述
为Django Shop集成Sendcloud Shipping Provider
这集成了sendcloudapi,用于django shop1.0版及更高版本。
安装
对于Django Shop 1.0及更高版本:
pip install djangoshop-sendcloud<1.1
准备工作
在SendCloud创建一个帐户。
在个人帐户设置中,单击设置。那里:
- 添加发件人地址。
- 在financial>;direct debit中添加定期付款设置。你的银行帐户在那里 收取0.01欧元,但这可能需要几个小时甚至一天,直到检查完所有东西。
- 在selected shop中,选择sendcloud api并输入您选择的名称。在那里,抽出 public key和secret key(见下文)。
配置
在商户项目的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提供的public key和secret key(见上文):
SHOP_SENDCLOUD={'API_KEY':'<public-key-as-provided-by-SendCloud>','API_SECRET':'<secret-key-as-provided-by-SendCloud>',}
由于sendclouds为我们设置了发货id,我们在
后端,使用SHOP_MANUAL_SHIPPING_ID = False
。
sendcloud需要一个特定的地址模型,因此请确保“物化”了一个
提供了djangoshop sendcloud而不是shop/models/defaults/address
中的默认值。
初始化
根据djangoshop sendcloud的要求创建另外两个数据库表:
python manange.py migrate djangoshop_sendcloud
最后,将所有可能的运输选项加载到您的店铺:
python manange.py sendcloud_import
请记住定期运行此作业,例如每周运行一次,以更新装运价格。
用法
当django shop在签出视图中呈现表单shipping method时,附加
选项将可用。对于在sendcloud后端配置的每个载体,都有一个额外的无线电
按钮出现。无论客户选择什么,都将存储在django shop'sOrderModel
中。
在django管理后端,只有在完成订单之后,一个名为 打印发货标签。单击该按钮将从sendcloud api获取pdf文档并 将它转发到django管理界面,从那里可以打印出来。
更改
1.0
- 初始工作释放。