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 5. Load sales tag (in any .html file)

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

Step 7. Display sales information (in relevant .html files)

<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.

Files for django-sales, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size django_sales-0.1.3-py3-none-any.whl (7.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size django-sales-0.1.3.tar.gz (3.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page