Я создал user_passes_test (groups) для ограничения пользователей по группам пользователей, но когда я перенаправляю всех пользователей, уже подключенных к главной странице, он создает перенаправление l oop и firefox отображает 'Страница неправильно перенаправлен ' - ссылка на мою домашнюю страницу - это ссылка, которая доступна всем подключенным пользователям [- это ссылка на страницу, которая авторизует
, когда я хочу оставьте домашнюю страницу d на этой странице с пользователем, который не авторизован firefox реферал Страница не перенаправлена правильно Firefox обнаружил, что сервер перенаправляет запрос на этот адрес способом, который не будет успешным.
{% load static %}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="{% static 'accounts/img/favicon.ico' %}">
<title>Authentification</title>
<link href="{% static 'accounts/css/bootstrap.min.css' %}" rel="stylesheet">
<link href="{% static 'accounts/css/loguer.css' %}" rel="stylesheet">
<script type="text/javascript" src="{% static 'accounts/js/jquery-3.3.1.min.js' %}"></script>
<script type="text/javascript" src="{% static 'accounts/js/bootstrap.min.js' %}"></script>
</head>
<body>
<div class="container-fluid">
<div class="row">
<main role="main" class="col-sm-6 ml-sm-auto col-md-12 pt-6">
<div class="container">
<div class="card card-container">
<!-- <img class="profile-img-card" src="//lh3.googleusercontent.com/-6V8xOA6M7BA/AAAAAAAAAAI/AAAAAAAAAAA/rzlHcD0KYwo/photo.jpg?sz=120" alt="" /> -->
<img class="profile-img-card" src="{% static 'accounts/img/academy.png' %}" />
{% if form.errors or error %}
<p class="alert alert-warning alert-demissible fade show">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<strong>Warning!</strong> Your username and password didn't match. Pleae try again
</p>
{% endif %}
{% if next %}
{% if user.is_authenticated %}
<p class="alert alert-warning">
<strong>Warning!</strong>
You are authenticated as {{ user.username }}, but are not authorized to
access this page. Would you like to login to a different account?
</p>
{% else %}
<p>Please log in to see this page.</p>
{% endif %}
{% endif %}
<form action="{% url 'login' %}" method="post" class="form-signin">
<span id="reauth-email" class="reauth-email"></span>
{% csrf_token %}
<div class="form-row">
{{ form.username.errors }}
{{ form.username.label_tag }} {{ form.username }}
</div>
<div class="form-row">
{{ form.password.errors }}
{{ form.password.label_tag }} {{ form.password }}
</div>
<div id="remember" class="checkbox">
<label>
<input type="checkbox" value="remember-me"> Remember me
</label>
</div>
<input type="submit" value="login">
<input type="hidden" name="next" value="{{ next }}">
</form><!-- /form -->
<a href="{% url 'password_reset' %}" class="forgot-password">
Lost password?
</a>
</div><!-- /card-container -->
</div><!-- /container -->
</main>
</div>
</div>
</body>
</html>
urls.py
from . import views
from django.contrib.auth import views as auth_views
from django.conf.urls import url, include
urlpatterns = [
url(r'^login/$', auth_views.LoginView.as_view(redirect_authenticated_user=True), name='login'),
url(r'^login_next/$', views.after_next_login, name='login_after_next'),
url(r'^logout', auth_views.LogoutView.as_view(next_page='login'), name='logout'),
url('accueil', views.home, name='home'),
]
views.py
from django.shortcuts import render,redirect,get_object_or_404
from django.contrib.auth.decorators import login_required, user_passes_test
from .models import Eleve
# Create your views here.
@login_required
@user_passes_test(lambda u: u.groups.filter(name='secretariat').exists(), login_url='login')
def student_list(request):
students = Eleve.objects.all()
return render(request, 'personnel/crud/list_students.html', locals())