Skip to main content

Django Donations

Build Coverage Code Health Updates Python 3 PyPI package

Reusable django app to receive & track donations on charitable sites

Documentation

The full documentation is at https://django-donations.readthedocs.io.

Quickstart

Install Django Donations:

pip install django-donations

Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'donations.apps.DonationsConfig',
    ...
)

Add Django Donations’s URL patterns:

from donations import urls as donations_urls


urlpatterns = [
    ...
    url(r'^', include(donations_urls)),
    ...
]

Just Giving Configuration

The app needs to be configured with your JustGiving API settings:

# Ability to point to Production or Sandbox URLs
JUST_GIVING_WEB_URL = 'http://v3-sandbox.justgiving.com'
JUST_GIVING_API_URL = 'http://api-sandbox.justgiving.com'
# Replace below with your personal details
JUST_GIVING_CHARITY_ID = '123456'
JUST_GIVING_APP_ID = 'changeme'
# Add a list of all the currencies you need to support
CURRENCIES = ['GBP']

TODO

  • Update the documentation and readme

  • integrate with readthedocs or pythonhosted or both!

  • tests - unit/integration

  • task to periodically verify pending donations

(* dashboard - track/view donations from the business side - kpis etc * views/urls? - provide an api hook into the system (/donations - dashboard))

v2 and beyond

  • (other providers (paypal etc))

  • tasks.py - recurring donation handling - this is not possible right now as SDI is not an API to be automated

Supported Providers

  • Just Giving SDI

Credits

Tools used in rendering this package:

History

1.2.0 (2018-06-18)

  • Removed the DonationProvider model, there is only 1 possible

  • Removed the DONATION_FREQUENCIES settings and magic to auto-create frequencies

  • Added a method to handle monthly donations with Just Giving

1.1.0 (2018-05-31)

  • Added support for Django 2.0

1.0.0 (2018-05-30)

  • Dropped support for Python < 3.5: dropped dependency on six

  • Dropped support for Django < 1.11: dropped dependency on django-compat

  • Lifted restriction on django-rest-framework version in setup.py

0.7.4 (2017-11-06)

  • New setting DONATION_VERIFY_API_URL_NAME to configure the name of URL to reverse when verifying a donation.

0.7.3 (2017-10-30)

  • Bump version to fix tagging

0.7.2 (2017-10-30)

  • Revert URL conf for Django 2.0 as it’s causing issues

0.7.0 (2017-09-26)

  • Add on_delete=models.CASCADE on foreign keys in migrations

  • Migrate URL confs to Django 2.0 syntax

  • Use django-compat for importing reverse

0.6.2 (2017-06-09)

  • Add on_delete=models.CASCADE on foreign keys for Django 2.0

0.6.1 (2017-06-08)

  • Python 3: fix app name as bytes in migrations

  • Django 1.11 compatibility

0.6.0 (2017-01-30)

  • Clean-up references to django-timedeltafield (#9). This required to squash the existing migrations. Make sure that you migrated to 0.5.0 first and applied all migrations everywhere.

  • Fix test setup. Now Django 1.10 is officially supported.

0.5.0 (2017-01-27)

  • Migrate to Django’s DurationField (#8). You need to upgrade your DONATION_FREQUENCIES setting. Values should now be python timedelta.

0.4.0 (2017-01-27)

  • Fix bug with urllib import on Python 3 #4

  • Remove dependency on django-autoconfig

  • Regenerate with cookie cutter for Django standalone app, resulting in: * Cleanup a few unused files * Remove the example project which isn’t kept up to date * Add a changelog * Switch testing to use tox * Switch from coveralls to codecov.io

  • Test views

0.3.0 (2016-10-20)

  • Drop support for Django 1.6 and 1.7

  • Support Django 1.9

  • Prepare Django 1.10

0.2.7 (2015-12-17)

  • Add the app config for Django 1.7+

0.2.6 (2015-12-07)

  • Some Python 3 compatibilty fixes

  • Prepare for Django 1.9 compatibility

0.2.5 (2015-11-23)

  • Django 1.8 compatibility

  • Fix a few issues with Python 3

0.2.4 (2015-11-12)

  • Doc improvements

  • Django 1.7 compatibility

0.2.3 (2015-10-23)

  • Fix a crash with anonymous donor

0.2.2 (2015-10-22)

  • Mostly tests improvements

0.2.0 (2015-10-19)

  • Fix various unicode crashes

  • Fix that prevented the server from starting when config was being loaded before the tables were created.

  • Capture Donor name from JustGiving

0.1.3 (2016-10-16)

  • Fix a Unicode crash in models and providers

  • Revert erroneous change in setup.py

0.1.2 (2015-10-16)

  • Admin improvements

  • Installation fixes

0.1.1 (2015-10-13)

  • Fix packaging on PyPI

  • Docs improvements

0.0.2 (2015-10-12)

  • Squash South migrations

  • Autoconfig enhancements

0.0.1 (2015-10-12)

  • First release on PyPI.

Metadata

Release files for django-donations 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-donations 1.2.0
File Size Uploaded Provenance Actions
django-donations-1.2.0.tar.gz 17.2 kB Without provenance Details for django-donations-1.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for django-donations 1.2.0
File Interpreter ABI Platform Actions
django_donations-1.2.0-py2.py3-none-any.whl Python 2, Python 3 none any Details for django_donations-1.2.0-py2.py3-none-any.whl

Total release size: 35.2 kB

Release files / django-donations-1.2.0.tar.gz

Download URL django-donations-1.2.0.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fa8c0077fb1e533df9126993c331834d5affbffcbb2d0e322cfc90d1e4a4cd34
BLAKE2b-256 checksum
How to use checksums
2409b71b6fb252420fd6b90a249132e54a06c0c648ce426913f8d9cf853466b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / django_donations-1.2.0-py2.py3-none-any.whl

Download URL django_donations-1.2.0-py2.py3-none-any.whl
Size 18.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
bbeba6b682b3bed23dce9f90e45afed8fecaabcf3adfb0d928815d28b6175c9a
BLAKE2b-256 checksum
How to use checksums
4b0590ca569c4a8b8b73578d9a3adfd38cb97277425824b96e211c78751c4005
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for django-donations 1.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page