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+.
Find the complete documentation on Read the Docs.
-
Install the
django-guest-user
package from PyPI -
Add
guest_user
to yourINSTALLED_APPS
and migrate your database -
Add
guest_user.backends.GuestBackend
to yourAUTHENTICATION_BACKENDS
-
Include
guest_user.urls
in your URLs -
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.
All contributions are welcome! Please read the contributing guidelines in this repostory.
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.