Displaying a Table in Django from Database

前端 未结 3 1346
无人及你
无人及你 2020-12-22 19:26

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 app

相关标签:
3条回答
  • 2020-12-22 19:51

    If you want to table do following steps:-

    views.py:

    def view_info(request):
        objs=Model_name.objects.all()
        ............
        return render(request,'template_name',{'objs':obj})
    

    .html page

     {% for item in objs %}
        <tr> 
             <td>{{ item.field1 }}</td>
             <td>{{ item.field2 }}</td>
             <td>{{ item.field3 }}</td>
             <td>{{ item.field4 }}</td>
        </tr>
           {% endfor %}
    
    0 讨论(0)
  • 2020-12-22 20:00

    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...

    <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>
    

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

    0 讨论(0)
  • 2020-12-22 20:04
    $ 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>
    
    0 讨论(0)
提交回复
热议问题