Skip to main content
OneTime is a drop-in Django app that allows you store callbacks
in your database to be called once another event has taken place.



In its most basic form, it has two main parts. First, you give
`onetime.call_later` a callable to execute when the event happens.
Second you hook up the CallbackMiddleware which will call the callable
with the arguments you supply to `call_later()`.

views.py
========
::
# Log a user in via email
from onetime import call_later

def login(request=None, user_id):
user = User.objects.get(id=user_id)
request.session['logged_in_user'] = user

def email_login_link(request):
alleged_user = User.objects.get(id=request.GET['user_id'])
onetime_id = call_later(login, user_id=alleged_user.id)
email_utils.sendmail(
alleged_user.email,
"Login Link",
"Login by clicking <a href='http://mysite/?onetime_id=%s'>here</a>"%onetime_id
)

settings.py
===========
::
MIDDLEWARE_CLASSES = (
'onetime.middleware.CallbackMiddleware',
...
)


If the callable you are passing in to call_later is in fact a Django
view that needs its first parameter to be the incoming request, you
can instead use `onetime.call_view_later` which will pass in the subsequent
request as the first parameter to the callable.


Settings
========
ONETIME_REQUEST_PARAMETER The request.REQUEST key we should look under
while searching for OneTime IDs. Can be any url-safe string, defaults
to `onetime_id`.

Release files for django-onetime 0.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-onetime 0.2.0
File Size Uploaded
django-onetime-0.2.0.tar.gz 5.0 kB Details

Release files / django-onetime-0.2.0.tar.gz

Download URL django-onetime-0.2.0.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d00c734ff02439ea2f0d4db2ab1b7cf800dca2cc09ed6c8d241ae210fa4019ae
BLAKE2b-256 checksum
How to use checksums
caa3c030cd4b63c6ff54c4db3a80f91ebb2b2992139436df733fa79019e2ad70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

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