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

Джанго базовая аутентификация

Структура Django позволяет очень легко реализовать в основной аутентификации, позвольте мне показать вам один … Tagged с Django, аутентификацией, Python.

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

Начнем с создания проекта

django-admin startproject simple_authentication_project 

Создайте “MyApp” внутри этого

python manage.py startapp myapp

Мы сделаем три просмотра внутри MyApp .i.e. login_page, home_page, logout_page

Страница авторизации

# login page
def login_page(request):
    if request.method == "POST":
        user = authenticate(
            username=request.POST["username"], password=request.POST["password"]
        )
        if user:
            login(request, user)
            return redirect(home_page)
        else:
            return render(request, "login.html", {"error": "Invalid login"})
    else:
        return render(request, "login.html", {"error": ""})

В просмотре входа в систему все, что нам нужно сделать, это взять имя пользователя и пароль из простой формы HTML, а затем передать функцию «Authenticate ()» с объектом запроса. Если пользователь существует, функция аутентификации вернет объект пользователя, и если нет, он не вернет нет. Если мы получим пользовательский объект, все, что нам нужно сделать, это передать этот пользовательский объект функции «login ()», которая войдет в систему пользователя.

Домашняя страница

# home page
@login_required(login_url="/login")
def home_page(request):
    return render(request, "home.html", {})

Мы дали декоратор login_required для представления на главной странице, чтобы только пользователь входа в систему мог видеть страницу. Если пользователь не вошел в систему, то он перенаправляет его на страницу входа в систему.

Страница выхода

# logout page
@login_required(login_url="/login")
def logout_page(request):
    logout(request)
    return render(request, "logout.html", {})

Вид выхода очень прост. Все, что нам нужно сделать, это передать ему объект запроса, и он зарегистрирует зарегистрированного пользователя.

И это все … Но подождите, как насчет “login.html”, “logout.html” и “home.html”. Не волнуйтесь, в них нет ничего особенного, чтобы объяснить. Я поместил ссылку на GitHub ниже. Единственное, что вы должны помнить, это поместить линию CSRF_TOKEN в форму всякий раз, когда вы делаете запрос «POST».

Давайте проверим наше простое приложение,

Начните с создания пользователя, для простоты мы сейчас будем работать с суперпользователем,

Первый мигрируй

python manage.py migrate

Создайте супер пользователя

python manage.py createsuperuser

Наконец -то Runserver

python manage.py runserver

Теперь наш сервер работает в браузере и выполняет адрес «Localhost: 8000».

Страница авторизации

Домашняя страница

Страница выхода

Ссылка на репозиторий GitHub

https://github.com/binary-ibex/simple_authentication_django.git

Оригинал: “https://dev.to/binaryibex/django-basic-authentication-easy-peasy-2n2f”