我试图用HTML显示Django中查询集的一些信息。但我不知道最好的办法。在
我的想法是,当我打开网页,这显示了用户的名字和与之相关的比赛。用户可以在Django的管理中创建竞争。在
我的网址是。在url(r'^home/(?P\w+)', HomeView.as_view(), name='home'),
模型。在
^{pr2}$
在视图.py在class HomeView(ListView):
model = User, Competition
template_name = 'home.html'
context_object_name = 'company'
def get_queryset(self, **kwargs):
company = self.kwargs['company_name']
try:
queryset = User.objects.filter(username__exact=company).get()
except User.DoesNotExist:
queryset = None
return queryset
HTML主页显示用户名,例如:{% if company %}
{{company.username}}
但是,我需要用HTML中的'for'显示用户创建的比赛。在
我尝试用chains返回两个查询集,但我没有使用它。在
还有这个。在queryset2 = Competition.objects.filter(user__username__exact=company).get()
get()显示返回多个对象的错误。这是合乎逻辑的,因为用户有3个与此相关的竞争。在
举个小例子?或者任何解决我问题的方法。在
非常感谢
我试过了,但是“User”对象不可编辑(显然它只是一个)class HomeView(ListView):
model = User
template_name = 'home.html'
context_object_name = 'company'
def get_queryset(self, **kwargs):
company = self.kwargs['company_name']
try:
queryset = User.objects.filter(username__exact=company).get()
queryset2 = Competition.objects.filter(user__username__exact=company)
result_list = list(chain(queryset, queryset2))
except User.DoesNotExist:
result_list = None
return result_list
我一直在尝试删除第一个查询集的get()并将数据返回到HTML。在
我怎样才能在HTML中访问列表的字段,但是使用类,如果我打印变量'company',结果就是这样。在[, , ]
但是对于'for'我只获得字符串值。如何区分“用户”和“竞争对手”{%for compa in company%}
{{compa}}
{%endfor%}
结果是:
迭戈
测试1
测试2