Django integration for Web Monetization
Project description
Django Web Monetization
A Django package that makes it easy to integrate the Web Monetization specification into web applications. It enables developers to monetize their websites through real-time payments using the Interledger Protocol (ILP).
Features
- 🚀 Middleware to automatically add the payment pointer to HTTP headers
- 🎯 Template tag to insert the monetization meta tag in templates
- ⚙️ Simple configuration through settings.py
- 🔒 Compatible with Django 3.2+
- 📦 Easy installation with pip
Resources
Installation
pip install django-webmonetization-MartinM10
Configuration
- Add 'django_webmonetization' to INSTALLED_APPS in settings.py:
INSTALLED_APPS = [
...
'django_webmonetization',
]
- Configure your payment pointer in settings.py:
WEBMONETIZATION_PAYMENT_POINTER = '$ilp.example.com/your-payment-pointer'
- (Optional) Add the middleware to MIDDLEWARE in settings.py:
MIDDLEWARE = [
...
'django_webmonetization.middleware.WebMonetizationMiddleware',
]
Usage
In Django Templates
{% load webmonetization %}
<!DOCTYPE html>
<html>
<head>
{% webmonetization_meta %}
<title>My Monetized Website</title>
</head>
<body>
<h1>Welcome to my website</h1>
<p>This site is monetized with Web Monetization</p>
</body>
</html>
HTTP Headers Verification
The middleware automatically adds the Web-Monetization-Pointer header to all HTTP responses. You can verify it with curl:
curl -I https://your-site.com
You should see something like:
HTTP/1.1 200 OK
...
Web-Monetization-Pointer: $ilp.example.com/your-payment-pointer
Integration Examples
1. Basic Monetization
# settings.py
WEBMONETIZATION_PAYMENT_POINTER = '$ilp.example.com/basic'
# views.py
from django.shortcuts import render
def home(request):
return render(request, 'home.html')
<!-- templates/home.html -->
{% load webmonetization %}
<!DOCTYPE html>
<html>
<head>
{% webmonetization_meta %}
</head>
<body>
<h1>Home Page</h1>
</body>
</html>
Requirements
Main Dependencies
- Python 3.7+
- Django 3.2+
Development Dependencies
- pytest>=7.0.0
- pytest-cov>=4.0.0
Contributing
Contributions are welcome! Please feel free to submit a pull request.
License
MIT License - see the LICENSE file for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_webmonetization_martinm10-0.1.3.tar.gz.
File metadata
- Download URL: django_webmonetization_martinm10-0.1.3.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0be4fdd8964b834e0f0cc06aec33aeb6dac2ad8a4697941a4b523ab03d8fddbd
|
|
| MD5 |
3a0a7b5bd8ae7c57e371422aa71583d0
|
|
| BLAKE2b-256 |
3107d26cdbbee391a18f9e181e45eace51ed951ad82fa37f086a612048827d22
|
File details
Details for the file django_webmonetization_martinm10-0.1.3-py3-none-any.whl.
File metadata
- Download URL: django_webmonetization_martinm10-0.1.3-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce29fce282f954fce08eb67e889cad0a455dbf5e7c92bbe18f12fb1f04a8ccc4
|
|
| MD5 |
aefa727419cd139bda2981527184b8b3
|
|
| BLAKE2b-256 |
e712f68227d44b6326ea5e0790bcde871caeb3d500f83abe157b455072a76e56
|