gpt4 book ai didi

django - 基于用户过滤时如何迎合 'AnonymousUser'

转载 作者:行者123 更新时间:2023-12-01 01:33:24 25 4
gpt4 key购买 nike

我有以下型号

class Team(models.Model):
name = models.CharField(max_length=100)
members = models.ManyToManyField(User, related_name="members", blank=True, null=True)

以及以下 View ( Controller )
def my_teams(request):
my_list = Team.objects.filter(members=request.user).order_by('name')
return render_to_response('teams/index.html', {'my_list': my_list})

当用户登录时,这非常有效,但我在以匿名用户身份进行测试时收到以下错误。
Exception Value: int() argument must be a string or a number, not 'AnonymousUser'

我如何迎合匿名用户?这是在我的模板或 View 中处理的吗?

任何关于如何实现这一目标的建议将不胜感激。

最佳答案

我想我可以通过修改我的观点来解决这个问题:

def my_teams(request):
if request.user.is_authenticated():
my_list = Team.objects.filter(members=request.user).order_by('name')
return render_to_response('teams/index.html', {'my_list': my_list})
else:
return render_to_response('teams/index.html', {})

这是什么都不返回的最佳做法吗?我现在如何在我的模板中处理这个问题?

关于django - 基于用户过滤时如何迎合 'AnonymousUser',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3439709/

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