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.
django-guest-user
package from PyPIguest_user
to your INSTALLED_APPS
and migrate your databaseguest_user.backends.GuestBackend
to your AUTHENTICATION_BACKENDS
guest_user.urls
in your URLsDecorate 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.