Рубрики
Без рубрики

Django Login/System System Part II

Как дела, парни! В этой второй и последней части нашей системы входа/входа мы собираемся: Создать … Tagged с Python, Django, WebDev, Codenewbie.

Django Registration/Login App (10 серии деталей)

Как дела, парни! Во второй и последней части нашей системы входа/входа мы собираемся:

  1. Создайте шаблоны входа и входа в систему в каталоге шаблонов нашего приложения.
  2. Изменить base.html и home.html Чтобы настроить то, что пользователь видит на основе его статуса аутентификации.
  3. Изменить RegisterView Внутри views.py Чтобы пользователи не получали доступ к странице регистрации во время аутентификации.
  4. Измените мертвые ссылки, чтобы указать на шаблоны входа/входа в систему, когда они у нас есть.

Login.html

{% extends "users/base.html" %}
{% block title %} Login Page {% endblock title%}
{% block content %}
    

Sign In

{% if form.errors %} {% endif %}
{% csrf_token %}
Sign in with GitHub Sign in with Google

OR


{{ form.username }}
{{ form.password }}
{{ form.remember_me }}
{% endblock content %}
  • Мы добавим социальную аутентификацию в другой части, но пока Войдите с Google и Войдите с GitHub мертвые ссылки.

logout.html

{% extends "users/base.html" %}
{% block title %}Logout{% endblock title %}
{% block content %}
    
You have been logged out

Thanks for your time, contact me for any comments or suggestions using my email address.



Sign in again
{% endblock content %}
Модификации
  • Open base.html И перейдите к линии, где у нас есть список навигационных элементов, и вместо этого добавьте следующий фрагмент. Это отобразит правильный элемент навигации в зависимости от того, что user.is_authenticated возврат.

base.html


  • Измените мертвые ссылки в Register.html и Home.html Чтобы указать на страницы входа и входа в систему, так как у нас сейчас их есть.

  • Измените представление регистра внутри views.py – Пользователи могут захотеть получить доступ к странице регистрации, пока они аутентифицируются, чтобы избежать этого, давайте переопределим отправка метод

Добавьте следующий метод выше метода получить RegisterView учебный класс.

views.py

    def dispatch(self, request, *args, **kwargs):
        # will redirect to the home page if a user tries to access the register page while logged in
        if request.user.is_authenticated:
            return redirect(to='/')

        # else process dispatch as it otherwise normally would
        return super(RegisterView, self).dispatch(request, *args, **kwargs)

И последнее, но не менее важное, лучше перенаправить пользователя на страницу входа в систему после регистрации. Поскольку у нас не было страницы для входа при создании страницы регистрации, мы перенаправляли пользователя на домашнюю страницу, но теперь, когда у нас есть страница для входа в систему, делая что -то подобное внутри RegisterView Класс – возвращаться) .

  • Хорошо, почти закончено …

Это работает как должно?

  • Запустите сервер разработки и запустите обычную команду Python Manage.py Runserver в вашем терминале.
  • Зайдите в Localhost и поиграйте с ним, посмотрите, работает ли все нормально.

Спасибо за ваше время. Вы можете найти готовое приложение в GitHub . Увидимся в следующий раз с другой частью серии.

Любые комментарии и предложения приветствуются.

Django Registration/Login App (10 серии деталей)

Оригинал: “https://dev.to/earthcomfy/django-login-logout-system-part-ii-48o5”