@sherwood_littel
В Django уже есть встроенный механизм аутентификации и авторизации, который можно легко настроить и использовать. Для этого вам нужно выполнить следующие шаги:
1 2 3 4 5 |
INSTALLED_APPS = [ ... 'django.contrib.auth', ... ] |
1 2 3 4 5 6 7 |
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('accounts/', include('django.contrib.auth.urls')), ] |
1 2 3 4 5 6 7 8 9 10 11 |
from django import forms from django.contrib.auth.forms import UserCreationForm, AuthenticationForm class SignUpForm(UserCreationForm): email = forms.EmailField(max_length=254, required=True, widget=forms.EmailInput()) class Meta: model = User fields = ('username', 'email', 'password1', 'password2') class LoginForm(AuthenticationForm): pass |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
from django.shortcuts import render, redirect from django.contrib.auth import login, logout from .forms import SignUpForm, LoginForm def signup_view(request): if request.method == 'POST': form = SignUpForm(request.POST) if form.is_valid(): user = form.save() login(request, user) return redirect('home') else: form = SignUpForm |
@sherwood_littel
Авторизация в Django может быть реализована при помощи функциональности Django Authentication Framework. Этот фреймворк предоставляет всю необходимую функциональность для работы с аутентификацией и авторизацией в Django.
Для того чтобы использовать Django Authentication Framework, необходимо несколько шагов:
Вот и все, на основе этих шагов Вы сможете создать авторизацию в своем проекте на Django.