Skip to main content

A Django app that lets visitors interact with your site without registration.

Project description

Code Lint Python Tests Documentation

django-guest-user

Allow visitors to interact with your site like a temporary user ("guest") without requiring registration.

Anonymous visitors who request a decorated page get a real temporary user object assigned and are logged in automatically. They can use the site like a normal user until they decide to convert to a real user account to save their data.

Inspired by and as an alternative for django-lazysignup and rewritten for Django 3.2+ and Python 3.8+.

Documentation

Find the complete documentation on Read the Docs.

Quickstart

  1. Install the django-guest-user package from PyPI

  2. Add guest_user to your INSTALLED_APPS and migrate your database

  3. Add guest_user.backends.GuestBackend to your AUTHENTICATION_BACKENDS

  4. Include guest_user.urls in your URLs

  5. Decorate your views with @allow_guest_user:

    from guest_user.decorators import allow_guest_user
    
    @allow_guest_user
    def my_view(request):
        assert request.user.is_authenticated
        return render(request, "my_view.html")
    

A more detailed guide is available in the installation documentation.

Contributing

All contributions are welcome! Please read the contributing guidelines in this repostory.

Development Status

This project is under active development. Thanks to previous work the core functionality is well-established and this package builds on top of it.

This project was created because the original project has been in an inactive state without major updates in a long time. The code base was rewritten with only modern versions of Python and Django in mind.

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

django_guest_user-0.5.5.tar.gz (15.2 kB view hashes)

Uploaded Source

Built Distribution

django_guest_user-0.5.5-py3-none-any.whl (21.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page