Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Django one time link generator and processor

Project description

Django tool for create ont time links

Installation

For integrate with Django need to add ua2.otl to the list of installed app:

INSTALLED_APPS += (
        'ua2.otl')

and put into a root urls.py next line:

url(r'^l/', include('ua2.otl.urls'))

Be warning: include urls.py only compatibil with Django >= 1.8. For django before 1.8 need use following solution:

from ua2.otl.views import otl_view

urlpatterns = urlpatterns(
        .....
    url(r'^l/(?P<otp_key>\w+)/$', otl_view, name='one-time-link'),
)

Using

You can use OneTimeLink with several scenario:

  • redirect to view with django backresolve (with support callback)
  • redirect to direct URL (with support callback)
  • using view to redner response

Redirects

There are two way to pass resulted link to OneTimeLink object:

  • pass url resolve point with kwargs
  • pass rendered link
from ua2.otl import OneTimeLink

link = OneTimeLink.create(resolve_name='django-url-name', resolve_kwargs={'value': 1})
link.save(expire=3600)

Example with callback and authorization:

    from ua2.otl import OntTimeLink

    def auth_callback(request, user_email):
        user = get_object_or_404(User,
                             email=user_email)
        login(request, user)

@login_required
    def password_restore(request):
            ....

    def send_restore_passwortd(request):
            link = OneTimeLink.create(resolve_name='url-password-reset')
            link['user_email'] = request.POST.get('user_email')

            link.save(callback=auth_callback,
                              expire=3600,
                              count=1)

            return HttpResponse("http://127.0.0.1:8000%s" % link.url)

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 ua2.otl, version 0.0.4
Filename, size File type Python version Upload date Hashes
Filename, size ua2.otl-0.0.4.tar.gz (4.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page