如何从[PostgreSQL]数据库中显示[HTML]中我的[Django]模型的结果?

问题描述 投票:0回答:1

我正在开发一个支持Django和PostgreSQL的Web应用程序。我正在使用Psycopg2连接我的PostgreSQL数据库。我试图在Home.html文档中列出我数据库中的所有表。

我在Home.html文档中显示这个问题时遇到了麻烦。下面我已经包含了我的代码。

models.朋友

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

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

如何在Home.html上显示数据库表的名称?

python django postgresql django-models psycopg2
1个回答
1
投票

这些值看起来像普通元组,并且您无法通过rows.table_name等属性名称访问元组元素。尝试通过数字索引访问值:{{ rows.2 }}(或列号的任何内容。)

© www.soinside.com 2019 - 2024. All rights reserved.