Разрешение доступа к URL только зарегистрированным пользователям - PullRequest
0 голосов
/ 12 июня 2019

Я начал работать с фреймворком django и создал простой веб-сайт, на котором пользователь сначала входит в систему, а затем перенаправляется на другую страницу.

Я попытался набрать URL перенаправленной страницы перед входом в систему, и она загружается. Вместо этого я хочу, чтобы он перенаправлял обратно на страницу входа (домашнюю страницу).

Я попытался проверить, авторизован ли пользователь для просмотра страницы, только если она есть. В файле views.py перенаправленной страницы написано:

def index(request):
    if request.user.is_authenticated():
        return render(request, 'professors/index.html')
    else:
        return redirect('' % request)
  • professors/ - это URL перенаправленной страницы
  • '' - это URL-адрес страницы входа (домашняя страница)

Обновление

views.py

from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required

# Create your views here.
@login_required
def index(request):
    return render(request, 'professors/index.html')

urls.py

from django.urls import path
from . import views

urlpatterns = [
    path(r'', views.index, name='index')
];

1 Ответ

1 голос
/ 12 июня 2019

Чтобы ограничить просмотры только зарегистрированными пользователями, используйте django, необходимый для входа в систему декоратор

views.py

from django.contrib.auth.decorators import login_required

@login_required
def index(request):
    return render(request, 'professors/index.html')

urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index')
]

Если они не вошли в систему, они будут перенаправлены на вашу страницу входа в систему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...