Как показать результаты моей модели [Django] в [HTML] из базы данных [PostgreSQL]? - PullRequest
0 голосов
/ 18 сентября 2018

Я занимаюсь разработкой веб-приложения с поддержкой Django и PostgreSQL.Я использую Psycopg2 для связи с моей базой данных PostgreSQL.Я пытаюсь перечислить все таблицы в моей базе данных в моем документе Home.html.

У меня проблемы с отображением этого в документе Home.html.Ниже я включил свой код.

models.py

from django.db import models
import psycopg2


# Create your models here.def __init__(self, db='giquery-data'):

class Tables(models.Model):
    conn = psycopg2.connect("dbname='giquery-data' user='postgres' host='localhost' password='admin'")
    cur = conn.cursor()
    # """SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_SCHEMA='public'"""
    cur.execute("SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_SCHEMA='public'")
    rows = cur.fetchall()

views.py

from django.shortcuts import render
from django.http import HttpResponse
from .models import Tables
from django.template import loader

# Create your views here.


def index(request):
    all_tables = Tables.rows
    template = loader.get_template('tablesearch/home.html')
    context = {
        'all_tables': all_tables
    }
    return HttpResponse(template.render(context, request))

Home.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<ul>
    {% for rows in all_tables %}
    <li>
         {{ rows.table_catalog }} - {{ rows.table_name }} Test
    </li>
    {% endfor %}
</ul>


</body>
</html>

В настоящее время мои результаты выглядят следующим образом:

enter image description here

Как я могу показать имена таблиц базы данных на домашней странице?.html

1 Ответ

0 голосов
/ 18 сентября 2018

Эти значения выглядят как простые кортежи, и вы не можете получить доступ к элементам кортежей через имена атрибутов, такие как rows.table_name.Вместо этого попробуйте получить доступ к значениям по числовому индексу: {{ rows.2 }} (или каков этот номер столбца.)

...