Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 14.12.2019
Сообщений: 16

Как происходит авторизация пользователя? Как вывести имя пользователя в шаблоне?

15.04.2020, 18:35. Показов 3398. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Settings.py:
Python
1
2
3
4
5
6
7
8
import os
from django.urls import reverse_lazy
STATIC_URL = '/static/'
CRISPY_TEMPLATE_PACK = 'bootstrap4'
TEMPLATE_DIR = os.path.join(BASE_DIR, "templates")
LOGIN_REDIRECT_URL = reverse_lazy('account:dashboard')
LOGIN_URL = reverse_lazy('account:login')
LOGOUT_REDIRECT_URL = reverse_lazy('account:logout')
urls.py корневой:

Python
1
2
3
4
5
6
7
from django.contrib import admin
from django.urls import path, include
 
urlpatterns = [
    path('accounts/', include('accounts.urls')),
    path('admin/', admin.site.urls),
]
accounts/urls.py:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from django.contrib.auth import views as auth_views
from django.urls import path
from . import views
app_name = 'accounts'
 
urlpatterns = [
    path('', views.dashboard, name='dashboard'),
    path('login/', auth_views.LoginView.as_view(), name='login'),
    path('logout/', auth_views.LogoutView.as_view(), name='logout'),
    path('password-change/', auth_views.PasswordChangeView.as_view(), name='password_change'),
    path('password-change/done/', auth_views.PasswordChangeDoneView.as_view(), name='password_change_done'),
    path('password-reset/', auth_views.PasswordResetView.as_view(), name='password_reset'),
    path('password-reset/done/', auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'),
    path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
    path('reset/done/', auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'),
]
accounts/views.py:

Python
1
2
3
4
5
6
7
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
@login_required
def dashboard(request):
    return render(request,
        'account/dashboard.html',
        {'section': 'dashboard'})
Login.htmlвстраивается в основной шаблон base.html(его не буду прикреплять))

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% extends  'base.html' %}
{% load crispy_forms_tags %}
 
{% block main %}
<div class="card">
<div class="card-body">
<h4 class="card-title">Log in to your account</h4>
 
<form method="post">
{% csrf_token %}
<input type="hidden" name="next" value="{{ next }}">
 
{{ form|crispy }}
 
<button type="submit" class="btn btn-primary btn-block">Log in</button>
</form>
</div>
</div>
{% endblock %}
dashboard.html:
HTML5
1
2
3
4
5
6
7
{% extends  'base.html' %}
{% load crispy_forms_tags %}
 
{% block main %}
<p>Hello</p>
<p>"{{ value }}"</p>
{% endblock %}
logged_out.html:
HTML5
1
2
3
4
5
6
7
{% extends 'base.html' %}
{% block main %}
 
<p>You are logged out!</p>
<a  href="{% url 'login' %}">Log in again</a>
 
{% endblock %}
1)Можете объяснить как работает @login_required и reverse_lazy(), где можно про это прочитать подробней?
2)Почему скрытная переменная эта именно next называется, как она проверяет логин и пароль и как из нее вывести логин и пароль в шаблон, после авторизации, в dashboard.html?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2020, 18:35
Ответы с готовыми решениями:

Как узнать имя пользователя, который запустил данный командный файл от имени другого пользователя?
Вопрос задаю в ветке PowerShell, т.к. скорее его средствами, нежели средствами одного только командного файла можно нормально реализовать...

VBS как получить все данные пользователя windows, включая пароль, вводя имя нужного пользователя
Помогите пожалуйста, нужен код который будет выдавать пароль по имени пользователя на VBScript. В интернете искал, найти не смог. Заранее...

Как вывести SID и имя пользователя?
Необходимо чтобы служба выводила имя пользователя, дату входа в систему и SID. Я реализовал следующим образом: protected override...

1
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
15.04.2020, 21:53
Лучший ответ Сообщение было отмечено mbilarusproPy как решение

Решение

Цитата Сообщение от mbilarusproPy Посмотреть сообщение
1)Можете объяснить как работает @login_required и reverse_lazy(), где можно про это прочитать подробней?
https://docs.djangoproject.com... -decorator
https://docs.djangoproject.com... verse-lazy

Цитата Сообщение от mbilarusproPy Посмотреть сообщение
2)Почему скрытная переменная эта именно next называется, как она проверяет логин и пароль и как из нее вывести логин и пароль в шаблон, после авторизации, в dashboard.html?
Что за next? Откуда она берётся в шаблоне? Какое там значение?

Логин и пароль проверяют различные валидаторы
https://docs.djangoproject.com... k_password

Вывести в шаблон - request.user.username. Пароль лучше не выводить. Но можно хранить, конечной в каком-то поле в бд.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.04.2020, 21:53
Помогаю со студенческими работами здесь

Как вывести на страничку пользователя его имя
Всем привет! Где-то что-то не так делаю, знаю. Но не пойму где. После входа, человек попадает на свою страничку, надо чтобы имя указанное...

Как вывести полный путь куда установленная виндовс и имя текущего пользователя?
// Lab1_v1.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Как спросит у пользователя фамилию, имя и отчество, после отправки формы вывести на экран введенные а форму скрить
Как спросит у пользователя фамилию, имя и отчество, после отправки формы вывести на экран введенные а форму скрить

Авторизация пользователя (как на Spylog)
Ни как не могу найти инфу, как сделать авторизацию с выскакивающим окном (типа Spylog) prompt() не подходит: 1. логин и пароль...

Зная ip адрес компьютера и его имя вывести имя пользователя
Зная ip адрес компьютера и его имя вывести имя пользователя в текстовое поле. я смог осилить только вывод имя компьютера: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru