Skip to main content
 首页 » 编程设计

python之Django之如何在不使用 CBV 的情况下按用户过滤 ListView

2025年05月04日25zhengyun_ustc

这有可能吗?我一直在寻找很长一段时间,但我看到的每个解决方案都涉及子类化 ListView ,我不想这样做。我确定有一种方法可以按用户过滤结果,而不必求助于基于类的 View ,我似乎无法找到关于它的好信息,我是否遗漏了什么?

我已经尝试过一些与此类似的方法,但我认为它不会像我尝试的那样起作用,我见过的唯一其他方法是使用 CBV:

url(r'^$', ListView.as_view(queryset=Game.objects.filter(user=User.user), template_name = 'userprofile.html')), 

请您参考如下方法:

当您发送请求以查看请求中已经有当前用户的实例时:

views.py

def my_not_cb_view(request): 
    user = request.user  
    games = Game.objects.filter(user=User.user) 
    context = {'games': games, 'user': user} 
    render_to_response(request, 'user profile.html', context=context) 

urls.py

url(r'^$', my_not_cb_view)