معرفی شرکت ها


django-strategy-field-3.0.0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

-
ویژگی مقدار
سیستم عامل -
نام فایل django-strategy-field-3.0.0
نام django-strategy-field
نسخه کتابخانه 3.0.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Stefano Apostolico
ایمیل نویسنده s.apostolico@gmail.com
آدرس صفحه اصلی https://github.com/saxix/django-strategy-field
آدرس اینترنتی https://pypi.org/project/django-strategy-field/
مجوز MIT License
===================== django-strategy-field ===================== Set of custom fields useful to implement the `Strategy Pattern`_ with Django models. The Strategies are displayed in SelectBoxes as standard choice field This package provides the following custom fields: * StrategyField * MultipleStrategyField * StrategyClassField * MultipleStrategyClassField The StrategyField can be accessed as instance of the model with an attribute ``context`` that points to model that 'owns' the field (inverse relation). So: Example ======= .. code-block:: python from strategy_field.fields import StrategyField from django.core.mail.backends.filebased.EmailBackend class Event(models.Model): backend = StrategyField() Event(sender='django.core.mail.backends.filebased.EmailBackend') Use case ======== As example we can imagine an application that manages `Events` that need to be notified to users. Each `Occurrence` of `Event` can be notified using different transport, (email, sms,...). We want to be able to add/change the way we send notification, per event basis, simply using the Django admin panel. .. code-block:: python from strategy_field.fields import StrategyField from strategy_field.registry import Registry class TransportRegistry(Registry) pass class AbstractStrategy(object): def __init__(self, context): self.context = context def send(self): raise NotImplementedError class EmailStrategy(AbstractTransport): def send(self): ... class SMSStrategy(AbstractTransport): def send(self): ... registry = TransportRegistry(AbstractStrategy) registry.register(EmailStrategy) registry.register(SMSStrategy) class Event(models.Model): sender = StrategyField(registry=registry) Event.objects.get_or_create(sender=EmailStrategy) ... ... e = Event.objects.get(sender=EmailStrategy) e.sender.send() # e.sender.context == e More examples ------------- Use callable ~~~~~~~~~~~~ .. code-block:: python from strategy_field.fields import StrategyField from strategy_field.registry import Registry registry1 = Registry() registry2 = Registry() class A(model): sender = StrategyField(registry=lambda model: model._registry) class Meta: abstract = True class C1(A): _registry = registry1 class Meta: abstract = True class C2(A): _registry = registry2 class Meta: abstract = True Project links ============= +--------------------+----------------+--------------+---------------------------+ | Stable | |master-build| | |master-cov| | | +--------------------+----------------+--------------+---------------------------+ | Development | |dev-build| | |dev-cov| | | +--------------------+----------------+--------------+---------------------------+ | Project home page: |https://github.com/saxix/django-strategy-field | +--------------------+---------------+-------------------------------------------+ | Issue tracker: |https://github.com/saxix/django-strategy-field/issues?sort | +--------------------+---------------+-------------------------------------------+ | Download: |http://pypi.python.org/pypi/django-strategy-field/ | +--------------------+---------------+-------------------------------------------+ .. _Strategy Pattern: http://www.oodesign.com/strategy-pattern.html .. |master-build| image:: https://github.com/saxix/django-strategy-field/actions/workflows/test.yaml/badge.svg?branch=master :target: https://github.com/saxix/django-strategy-field/actions/workflows/test.yaml .. |master-cov| image:: https://codecov.io/github/saxix/django-strategy-field/coverage.svg?branch=master :target: https://codecov.io/github/saxix/django-strategy-field?branch=develop .. |dev-build| image:: https://github.com/saxix/django-strategy-field/actions/workflows/test.yaml/badge.svg?branch=develop :target: https://github.com/saxix/django-strategy-field/actions/workflows/test.yaml .. |dev-cov| image:: https://codecov.io/github/saxix/django-strategy-field/coverage.svg?branch=develop :target: https://codecov.io/github/saxix/django-strategy-field?branch=develop


نحوه نصب


نصب پکیج whl django-strategy-field-3.0.0:

    pip install django-strategy-field-3.0.0.whl


نصب پکیج tar.gz django-strategy-field-3.0.0:

    pip install django-strategy-field-3.0.0.tar.gz