[英]Only allowing authenticated users to access certain pages in django
我一直在努力做到只有登錄的用戶才能訪問頁面,但我似乎無法讓它工作。
這是我的views.py
@login_required
def course(request):
data = Students.objects.all()
context = {'data', data}
if not request.user.is_authenticated():
return HttpResponseRedirect('/')
else:
return render_to_response('login/course.html', context)
我還嘗試通過執行以下操作來限制訪問
{% if user.is_authenticated %}
<h1>Course Page!</h1>
{% else %}
<a href="/">login</a>
{% endif %}
我在 views.py 文件中嘗試的第一種方式總是讓我看到頁面,而第二種方式總是只顯示登錄鏈接。 這可能是小事,但我似乎無法解決。 有人能指出我正確的方向嗎?
這應該足夠了。 如果匿名用戶仍然可以訪問該視圖功能,則該用戶可能已通過身份驗證。
@login_required(login_url='/')
def course(request):
data = Students.objects.all()
return render(request, 'login/course.html', {'data': data})
你確定你沒有經過身份驗證? 嘗試刪除 localhost 的 cookie 並再次打開視圖。
在您看來,嘗試通過響應傳遞給用戶,例如:
return render_to_response('login/course.html', {'context': context, 'user': request.user})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.