Django авторизация

Django поставляется с большим количеством модулей, как принято говорить "из коробки" и система аутентификации (будем называеть ее login) здесь не исключение. Использовать коробочные решения всегда приятно, конечно если они вам подходят. Если же нет, то в интернете полно готовых модулей различного назначения. В системе аутентификации Django имеются следующие функции:

 

 


  • Регистрация

  • Авторизация

  • Выход

  • Сброса пароля


  •  

 

 

В этой статья я расскажу о login и logout.

 

 

Начало работы с Login System Django

 

 

Прежде чем начать, убедитесь, что у вас подключен модуль "django.contrib.auth" в INSTALL_APPS.

 

 

Конфигурация URL маршрутов

 

 

Добавьте в свой файл urls.py импорт функции аутентификации из коробки django. 

 

 

 

 

 

from django.conf.urls import url
from django.contrib import admin
from django.contrib.auth import views as auth_views

 

urlpatterns = [
url(r'^login/$', auth_views.login, name='login'),
url(r'^logout/$', auth_views.logout, name='logout'),
url(r'^admin/', admin.site.urls),
]

 

 

Импортируем views из from django.contrib.auth и настраиваем пути для функций. 

 

 

Настройка шаблона

 

 

По умолчанию django.contrib.auth.views.login будет искать шаблон в registration/login.html и если его там не будет, то он воспользуется своим шаблоном. Поэтому я рекомендую создать в проекте папкуtemplates/registration/login.html и уже с этим шаблоном работать в дальнейшем. В шаблоне напишем простой вывод формы:

 

 

{% extends 'base.html' %}

 

{% block title %}Вход{% endblock %}

{% block content %}
<h2>Войдите</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Войти</button>
</form>
{% endblock %}

 

 

Этого достаточно для авторизации пользователя на вашем сайте.

 

 

Авторизация django

 

 

Чтобы сделать редирект пользователя на нужную вам страницу после авторизации пропишите в settings.py такую строчку LOGIN_REDIRECT_URL = 'путь' . Можно так же использовать url name вместо пути.

 

 

Функция выхода

 

 

 По умолчанию django будет искать шаблон в уже знакомой нам папке registration/logout.html.

 

 

Я обычно использую такую комбинацию для перенаправления пользователя после выхода 

 

 

url(r'^logout/$', auth_views.logout, {'next_page': '/'}, name='logout'),

 

 

Вот так просто использовать систему аутентификации в django. Конечно ее можно заточить под свои нужнды, добавить полей изменить метод и т.д. Об этом позже будет написано. Создание сайтов на Django.

Позвонить

Городской: +7(8793)33-16-17
Мобильный: +7(928)911-74-69

Написать

manager@kmv-it.ru

Приехать

г.Пятигорск переулок Первомайский 18

Логотип Кухня сайтов