У меня есть два вида в моем views.py
, как показано ниже:
def table1(request):
template_name = 'tables.html'
queryset = one.objects.all()
context = {
"table1_list": queryset
}
return render(request, template_name, context)
def table2(request):
template_name = 'tables.html'
queryset = two.objects.all()
context = {
"table2_list": queryset
}
return render(request, template_name, context)
и следующие модели в models.py
:
class one(models.Model):
title = models.CharField(max_length=100)
explanation = models.CharField(max_length=1000, blank=True, null=True)
class two(models.Model):
title = models.CharField(max_length=100)
explanation = models.CharField(max_length=1000, blank=True, null=True)
В моем tables.html
я хочу показать содержимое обеих этих моделей. У меня есть:
<p>Table one content</p>
<ul>
{% for obj in table1_list %}
{{ obj.title }}, {{ obj.explanation }}
{% endfor %}
</ul>
<p>Table two content</p>
<ul>
{% for obj in table1_list %}
{{ obj.title }}, {{ obj.explanation }}
{% endfor %}
</ul>
Но поскольку я могу просто вернуть одно представление из views.py
в urls.py
, я не могу вернуть обе таблицы. В urls.py
мне нужно написать одно из следующих:
urlpatterns = [
url(r'^$', home),
url(r'^tables/$', table1),
]
или
urlpatterns = [
url(r'^$', home),
url(r'^tables/$', table2),
]
Я попытался добавить обе таблицы из запроса в views.py
как:
def table1(request):
template_name = 'tables.html'
queryset_one = one.objects.all()
queryset_two = two.objects.all()
context = {
"table1_list": [queryset_one, queryset_two]
}
return render(request, template_name, context)
но отображается только содержимое последней таблицы.
Буду признателен за любую помощь.