【发布时间】:2020-04-04 21:04:37
【问题描述】:
我的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)
但只显示后一个表格的内容。
我将不胜感激。
【问题讨论】:
标签: python django database sqlite