Paulmayock / the_sesh_recipes

0 stars 1 forks source link

Install django allauth #4

Closed Paulmayock closed 1 month ago

Paulmayock commented 1 month ago

I need to install django alluth correctly so I can get the authentication created for users to login to the website.

iayushrana commented 1 month ago

To install and configure Django Allauth for user authentication on your website, follow these steps:

1. Install Django Allauth First, you need to install Django Allauth and its dependencies.

Install using pip:

pip install django-allauth

2. Update Your INSTALLED_APPS Add the required apps to your INSTALLED_APPS in your Django settings file (settings.py).

INSTALLED_APPS = [

Django apps

'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sites',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

# Third-party apps
'allauth',
'allauth.account',
'allauth.socialaccount',

# Add the providers you want to enable
'allauth.socialaccount.providers.google',
'allauth.socialaccount.providers.facebook',
# ... other providers

]

3. Add the Site Framework Django Allauth requires the Django sites framework.

Add django.contrib.sites to INSTALLED_APPS (already included in the previous step).

Set the SITE_ID:

SITE_ID = 1

4. Update URL Configuration Add the Allauth URLs to your project’s urls.py file. from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('accounts/', include('allauth.urls')),

Your other URLs

] 5. Configure Authentication Backends Update the AUTHENTICATION_BACKENDS in your settings.

AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', # For standard Django auth 'allauth.account.auth_backends.AuthenticationBackend', # For Allauth ) 6. Configure Allauth Settings Configure any additional settings you need for Allauth in settings.py.

General Allauth settings

ACCOUNT_EMAIL_VERIFICATION = 'mandatory' ACCOUNT_AUTHENTICATION_METHOD = 'email' ACCOUNT_EMAIL_REQUIRED = True LOGIN_REDIRECT_URL = '/' # Redirect after successful login

Social account settings

SOCIALACCOUNT_QUERY_EMAIL = True

7. Run Migrations Apply the migrations to update your database schema.

python manage.py migrate

8. Create and Configure the Site Create a superuser (if you haven’t already):

python manage.py createsuperuser Log in to the Django admin:

Navigate to /admin/ in your browser. Log in with your superuser credentials. Configure the Site:

Go to the Sites section in the admin panel. Edit the default site (with ID 1) and set the domain name and display name to match your project. 9. Templates and Forms Ensure you have the necessary templates for Allauth. You can copy the default templates from the Allauth repository and customize them as needed. Place these templates in your project's templates directory under account and socialaccount.

Example of a Custom Login Template (account/login.html) {% load i18n %}

{% block content %}

{% trans "Sign In" %}

{% csrf_token %} {{ form.as_p }}

{% trans "Sign Up" %}

{% trans "Forgot Password?" %}

{% endblock %} By following these steps, you should have Django Allauth installed and configured for user authentication on your website. You can further customize the settings and templates to suit your project's needs.