如何在网页上以表格格式显示数据库表中的信息?有没有一种简单的方法在django中执行此操作,或者它需要更复杂的方法。更具体地说,您如何将数据库表中的列和行几乎移植到可从URL中看到的可视表?
答案 0 :(得分:61)
最简单的方法是使用for loop template tag。
鉴于观点:
def MyView(request):
...
query_results = YourModel.objects.all()
...
#return a response to your template and add query_results to the context
您可以像这样添加模板片段......
<table>
<tr>
<th>Field 1</th>
...
<th>Field N</th>
</tr>
{% for item in query_results %}
<tr>
<td>{{ item.field1 }}</td>
...
<td>{{ item.fieldN }}</td>
</tr>
{% endfor %}
</table>
答案 1 :(得分:7)
$ pip install django-tables2
<强> settings.py 强>
INSTALLED_APPS , 'django_tables2'
TEMPLATES.OPTIONS.context-processors , 'django.template.context_processors.request'
<强> models.py 强>
class hotel(models.Model):
name = models.CharField(max_length=20)
<强> views.py 强>
from django.shortcuts import render
def people(request):
istekler = hotel.objects.all()
return render(request, 'list.html', locals())
<强> list.html 强>
{# yonetim/templates/list.html #}
{% load render_table from django_tables2 %}
{% load static %}
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="{% static
'ticket/static/css/screen.css' %}" />
</head>
<body>
{% render_table istekler %}
</body>
</html>
答案 2 :(得分:0)
如果要上表,请执行以下步骤:-
views.py:
def view_info(request):
objs=Model_name.objects.all()
............
return render(request,'template_name',{'objs':obj})
.html页面
{% for item in objs %}
<tr>
<td>{{ item.field1 }}</td>
<td>{{ item.field2 }}</td>
<td>{{ item.field3 }}</td>
<td>{{ item.field4 }}</td>
</tr>
{% endfor %}