Skip to main content

Display different contact details based on query parameter and cookie

Project description

django-sales is a Django app for displaying different contact details based on query parameter (with cookie). It provides sales, partners and affiliates custom links to send out to the public. It gives sales, partners and affiliates their opportunity to convert every contact detail on the website to their own. It thus encourages sales, partners and affiliates to promote the website and the business.

Installation

Use the package manager pip to install django-sales.

pip install django-sales

Usage

Step 1. Add sales app (in settings.py file)

INSTALLED_APPS = [
    '...',
    'django.contrib.staticfiles',
    'sales',  # here
    'myapp',
    '...',
]

Make sure sales app is before all custom apps. Otherwise, Django will not recognize the ‘sales’ template tag.

Step 2. Add sales middleware (in settings.py file)

MIDDLEWARE = [
    'sales.middleware.sales.SalesMiddleware',  # here
    'django.middleware.security.SecurityMiddleware',
    '...'
]

Step 3. Add sales context processors (in settings.py file)

TEMPLATES = [
    {
        'OPTIONS': {
            'context_processors': [
                '...',
                'django.contrib.messages.context_processors.messages',
                'sales.context_processors.sales',  # here
            ],
        },
    },
]

Step 4. Customize sales settings (in settings.py file) (optional)

The defaults are:

SALES_LINK_PARAMETER = 'sales'
SALES_DEFAULT_ID = 1  # ?sales=1
SALES_COOKIE_NAME = 'sales'
SALES_COOKIE_MAX_AGE = 3600  # 1 hour
SALES_MODEL_FROM = 'django.contrib.auth.models'
SALES_MODEL_IMPORT = 'User'  # from SALES_MODEL_FROM import SALES_MODEL_IMPORT

In version 0.0.1, django-sales makes use of django.contrib.auth.models.User model, which can be easily extended according to your needs. (e.g. Add a phone number field) From version 0.1.0, django-sales allows developer to specify the Sales model to lookup sales, partners and affiliates.

Step 4. Load sales tag (in any .html file)

{% load static %}
{% load sales %}  # here

Step 6. Display sales information (in any .html file)

<a href="mailto:{{ sales.email }}">Email</a>
<p>{{ sales.first_name }} {{ sales.last_name }}</p>

Contributing

Pull requests are welcome.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-sales-0.1.0.tar.gz (7.4 kB view hashes)

Uploaded Source

Built Distribution

django_sales-0.1.0-py3-none-any.whl (3.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page