Integration between Django and Amplitude
Project description
Django Amplitude
Integration between Django and Amplitude.com to help send events via the Amplitude HTTP API (v2)
Quick start
Installation
pip install django-amplitude
Set a Amplitude API key in your Django settings:
# Settings > Projects > <Your project> > General > API Key
AMPLITUDE_API_KEY = '<amplitude-project-api-key>'
# You can also choose if you want to include user and group data
# IF not set will default to False
AMPLITUDE_INCLUDE_USER_DATA = True
AMPLITUDE_INCLUDE_GROUP_DATA = True
Add amplitude
to your INSTALLED_APPS
:
INSTALLED_APPS =(
...
"amplitude",
...
)
Usage
If you want to send an event to Amplitude on every page view you can use the django-amplitude SendPageViewEvent
middleware to your MIDDLEWARE
in your Django settings.
This will automatically create an event base on the url name that was hit and the Django request object.
MIDDLEWARE = [
...
'amplitude.middleware.SendPageViewEvent',
...
]
If you want to send your own events:
from amplitude import Amplitude
amplitude = Amplitude()
amplitude.send_events([event_data]) # https://developers.amplitude.com/docs/http-api-v2
There are also few helper functions to build different parts of the event data:
amplitude.session_id_from_request(request)
amplitude.event_properties_from_request(request)
amplitude.device_data_from_request(request)
amplitude.user_properties_from_request(request)
amplitude.group_from_request(request)
amplitude.location_data_from_ip_address(ip_address)
user_properties_from_request
will return an empty dict ifAMPLITUDE_INCLUDE_USER_DATA
isFalse
group_from_request
will return an empty dict ifAMPLITUDE_INCLUDE_GROUP_DATA
isFalse
SendPageViewEvent - missing event data keys
The SendPageViewEvent
middleware currently does not record the following keys from UploadRequestBody
:
- event_id
- app_version
- device_id
- carrier
- price
- quantity
- revenue
- productId
- revenueType
- idfa
- idfv
- adid
- android_id
- dma
- insert_id
If you want to record an event in Amplitude with any of these keys you must use amplitude.send_events([event_data])
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_amplitude-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 251a7f94c54c1cd4464da6b6bf5397ee599d58d012a9a206c8713480805ca46d |
|
MD5 | 8842c371ad75616b231b27a2d48cebba |
|
BLAKE2b-256 | 634e6260cd65093ad798bd1a907ddc36951ab9d6b6d663c44c46210902f35ab7 |