Displaying a Table in Django from Database


How do you display the information from a database table in a table format on a webpage? Is there a simple way to do this in django or does it require a more complicated approach. More specifically, how do you pretty much port over the columns and rows in a database table to a visual table that can be seen from a url?

This question is tagged with django database

~ Asked on 2011-09-02 17:19:24

The Best Answer is


The easiest way is to use a for loop template tag.

Given the view:

def MyView(request):
    query_results = YourModel.objects.all()
    #return a response to your template and add query_results to the context

You can add a snippet like this your template...

        <th>Field 1</th>
        <th>Field N</th>
    {% for item in query_results %}
        <td>{{ item.field1 }}</td>
        <td>{{ item.fieldN }}</td>
    {% endfor %}

This is all covered in Part 3 of the Django tutorial. And here's Part 1 if you need to start there.

~ Answered on 2011-09-02 19:14:04


$ pip install django-tables2


INSTALLED_APPS , 'django_tables2'
TEMPLATES.OPTIONS.context-processors , 'django.template.context_processors.request'


class hotel(models.Model):
     name = models.CharField(max_length=20)


from django.shortcuts import render

def people(request):
    istekler = hotel.objects.all()
    return render(request, 'list.html', locals())


{# yonetim/templates/list.html #}
{% load render_table from django_tables2 %}
{% load static %}
<!doctype html>
        <link rel="stylesheet" href="{% static 
'ticket/static/css/screen.css' %}" />
        {% render_table istekler %}

~ Answered on 2017-07-31 12:32:48

Most Viewed Questions: