gpt4 book ai didi

python - 在通用 View 中验证用户?

转载 作者:太空宇宙 更新时间:2023-11-04 10:29:44 24 4
gpt4 key购买 nike

是否可以扩展通用 View 以允许用户身份验证?如果用户未登录,我希望我的 View 限制模型返回结果的数量。

class CustomGalleryDetailView(DetailView):

def get_queryset(self):
if request.user.is_authenticated():
return Gallery.objects.on_site().is_public()
else:
return Gallery.objects.on_site().is_public()[:5]

这会返回 NameError global name 'request' is not defined.

我想扩展通用 View 的原因是在这里我只是覆盖了我程序中第三方应用程序使用的许多 View 中的一个,我想与主要依赖的其余 View 保持一定的一致性关于一般观点。

最佳答案

只需将其更改为 self.request.user.is_authenticated(),这样您的类将变为:

class CustomGalleryDetailView(DetailView):

def get_queryset(self):
if self.request.user.is_authenticated():
return Gallery.objects.on_site().is_public()
else:
return Gallery.objects.on_site().is_public()[:5]

关于python - 在通用 View 中验证用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27557908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com