我开始使用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')
];
答案 0 :(得分:1)
要将视图限制为仅登录的用户,请使用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')
]
如果未登录,它们将被重定向到您的登录页面