跳转到主要内容

Bluelight 特别版 - Django Oscar 的报价和优惠券功能增强。

项目描述

Django Oscar Bluelight 特别版

license kit format

此软件包包含对Django Oscar内置报价和优惠券功能的增强和改进。

功能

  • 分组限制优惠券:Bluelight添加了将优惠券应用限制为特定白名单组(django.contrib.auth.models.Group)的能力。例如,您可以创建只能由属于组客户服务代表的用户应用的优惠券代码。
  • 复合报价条件:默认情况下,Oscar只允许将单个条件分配给促销报价。复合报价条件允许您创建更复杂的逻辑,以确定何时启用报价。例如,您可以创建复合条件,指定购物车必须包含至少3个项目并且总价值超过50美元。
    • 复合条件可以聚合无限数量的子条件。
    • 复合条件可以使用ANDOR连接符连接其子条件。
    • 需要同时使用ANDOR连接符的非常复杂的条件可以通过创建多个级别的复合条件来模拟。
  • 父/子优惠券代码:默认情况下,Oscar不支持批量创建优惠券代码。Bluelight添加了为任何标准(非子)优惠券批量创建任意数量子优惠券(具有独特、自动生成的代码)的能力。当通过电子邮件向客户发送优惠券代码时,这非常有用,因为它允许创建数百或数千个非顺序、一次性使用的代码。
    • 在创建新优惠券或创建优惠券后可以添加子代码。
    • 任何时候都可以为优惠券生成更多子代码。
    • 子代码可以导出为CSV和JSON格式。
    • 每次编辑父优惠券(名称更改、福利变更等),所有子代码也会相应更新。
    • 当删除父优惠券时,所有子代码也会被删除。
    • 一旦优惠券分配了子代码,父优惠券本身就不能被任何人应用。

路线图

  • 通过以下方式提高子代码创建和更新的性能:(1) 将部分工作提取到异步Celery任务中,以及(2) 在保存前更好地跟踪脏模型字段。
  • 添加优惠券复制的功能。
  • 添加向优惠券添加条件的能力。

注意事项

Bluelight目前通过派生Oscar的四个应用程序:offer、voucher、dashboard.offers和dashboard.vouchers来工作。目前,如果您的应用程序已经派生了这些应用程序,则无法使用Bluelight。

安装

安装[django-oscar-bluelight]{.title-ref}。

pip install django-oscar-bluelight

将Bluelight的设置导入项目的settings.py文件。

from oscar.defaults import *
from oscarbluelight.defaults import *  # Needed so that Bluelight's views show up in the dashboard

将Bluelight添加到您的已安装应用程序(替换等效的Django Oscar应用程序)。必须在oscar应用程序之前定义顶层oscarbluelight应用程序——如果不这样做,Django将无法正确找到Bluelight的模板。

INSTALLED_APPS = [
    ...
    # Bluelight. Must come before `django-oscar` so that template inheritance / overrides work correctly.
    'oscarbluelight',
    'thelabdb.pgviews',

    # django-oscar
    'oscar',
    'oscar.apps.analytics',
    'oscar.apps.checkout',
    'oscar.apps.address',
    'oscar.apps.shipping',
    'oscar.apps.catalogue',
    'oscar.apps.catalogue.reviews',
    'sandbox.partner',  # 'oscar.apps.partner',
    'sandbox.basket',  # 'oscar.apps.basket',
    'oscar.apps.payment',
    'oscarbluelight.offer',  # 'oscar.apps.offer',
    'oscar.apps.order',
    'oscar.apps.customer',
    'oscar.apps.search',
    'oscarbluelight.voucher',  # 'oscar.apps.voucher',
    'oscar.apps.wishlists',
    'oscar.apps.dashboard',
    'oscar.apps.dashboard.reports',
    'oscar.apps.dashboard.users',
    'oscar.apps.dashboard.orders',
    'oscar.apps.dashboard.catalogue',
    'oscarbluelight.dashboard.offers',  # 'oscar.apps.dashboard.offers',
    'oscar.apps.dashboard.partners',
    'oscar.apps.dashboard.pages',
    'oscar.apps.dashboard.ranges',
    'oscar.apps.dashboard.reviews',
    'oscarbluelight.dashboard.vouchers',  # 'oscar.apps.dashboard.vouchers',
    'oscar.apps.dashboard.communications',
    'oscar.apps.dashboard.shipping',
    ...
]

在项目中派生篮子应用程序,并将BluelightBasketMixin作为Line模型的父类。

from oscar.apps.basket.abstract_models import AbstractLine
from oscarbluelight.mixins import BluelightBasketLineMixin

class Line(BluelightBasketLineMixin, AbstractLine):
    pass

from oscar.apps.basket.models import *  # noqa

用法

安装后,新的功能将在Oscar仪表板中的“优惠券”菜单下显示。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

django_oscar_bluelight-5.5.15.tar.gz (418.2 kB 查看哈希值)

上传时间 源代码

构建分发

django_oscar_bluelight-5.5.15-py3-none-any.whl (489.8 kB 查看哈希值)

上传时间 Python 3

由以下组织支持