我想向所有用戶顯示該頁面,即使他們沒有登錄,但因為我無法在其中request.user使用views.py。
有沒有辦法處理這個?
視圖.py:
class ServerView(View):
def get(self, request, server_tag):
server = Server.objects.get(tag=server_tag)
posts = server.posts.all()
is_following = False
relation = ServerFollow.objects.filter(server=server, user=request.user)
if relation.exists():
is_following = True
return render(request, 'servers/server.html', {'server':server, 'posts':posts, 'is_following':is_following})
uj5u.com熱心網友回復:
只需檢查請求用戶是否經過身份驗證。基于此,您可以實作鏈式過濾。
class ServerView(View):
def get(self, request, server_tag):
server = Server.objects.get(tag=server_tag)
posts = server.posts.all()
is_following = False
qs = ServerFollow.objects.filter(server=server)
if qs and request.user.is_authenticated():
qs = qs.filter(user=request.user)
if qs:
is_following = True
return render(request, 'servers/server.html', {'server':server, 'posts':posts, 'is_following':is_following})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/485271.html
標籤:django django-views django-模板
上一篇:C#-使用LINQ洗掉重復物件
