我无法使用 Python 和 Django 在网页上显示数据库中的数据

Posted

技术标签:

【中文标题】我无法使用 Python 和 Django 在网页上显示数据库中的数据【英文标题】:I can't display data from database on web page using Python and Django 【发布时间】:2021-04-09 02:58:40 【问题描述】:

我有一个大问题。我想在网页上显示我的数据库(SQLite)中的数据(数据应该存在于 html 表中)。我已经用 Postman 检查了我的请求,一切看起来都很好,但是有了所有这些,我在我的页面上看不到数据。(我正在使用 Python 和 Django)

**来自我的模板的HTML - **

<div id="patientsPanel">
    <button class="addButton outline-text" style="top:5px;background-color:#FED558;" onclick="addNewPatient()"><i class="fas fa-plus outline-text" style="color:white;"></i> Add patient</button>
    <button class="addButton outline-text" style="top:33px;background-color:#691188;text-align:center;" onclick="displayPatientsList()"><i class="fas fa-align-justify" style="color:white"></i> Patients</button>
    <span class="closebtn outline-text" onclick="this.parentElement.style.display='none';">&times;</span>
    <h1 class="outline-text" style=text-align:center>user.username</h1>
    <div id="patientsList">
        <table class="table">
            <tr>
                <th>FirstName</th>
                <th>LastName</th>
                <th>Phone</th>
                <th>Actions</th>
            </tr>
            <tbody>
                 % for patient in patientsForm %
                     <tr>
                         <td>patient.firstName</td>
                         <td>patient.lastName</td>
                         <td>patient.phone</td>
                         <td>More</td>
                     </tr>
                 % endfor %
                 <tr>
                     <td>Dummy</td>
                     <td>Dummy</td>
                     <td>Dummy</td>
                     <td>More</td>
                 </tr>
            </tbody>
        </table>
    </div>
</div>

有两个面板。当我单击第一个按钮时,应该会出现第二个面板(这是包含数据库数据的面板)。 函数 displayPatientsList() 只是为了让面板可见,没什么特别的。

这是我的意见.py

def viewPatients(request):
    print("Aici in viewPatients!!")
    patients = Patient.objects.all()
    return render(request, 'medRelations/account.html', 'patientsForm': patients)

urls.py

from django.contrib import admin
from django.urls import include, path

from medRelations.views import (
    registrationView,
    loginPageView,
    accountView,
    authView,
    newPatient,
    newIntervention,
    viewPatients,
    viewInterventions,
)
urlpatterns = [
    path('', registrationView, name='registration'),
    path('admin/', admin.site.urls),
    path('loginPage', loginPageView, name='loginPageView'),
    path('home', accountView, name='myAccount'),
    path('login', authView, name='userLogin'),
    path('newPatient', newPatient, name='newPatient'),
    path('newIntervention', newIntervention, name='newIntervention'),
    path('viewPatients', viewPatients, name='viewPatients'),
    path('viewInterventions', viewInterventions, name='viewInterventions'),
]

This is my page...in the table I should have the data from database, but I have just "Dummy". The table works...but the data is not present, that's the problem

Here is Postman. I can see the data from database in the HTML code when I send the request

我不明白为什么这不起作用。我尝试在 Youtube 上搜索,有人使用与我相同的方法,但对他们来说是成功的。 任何帮助都很好,我有点绝望,因为我花了一些时间找到问题..没有结果。

提前感谢您! :D

【问题讨论】:

【参考方案1】:

您的患者名单视图未在/home 上注册,而是在/viewPatients 上注册。

尝试访问此路径,其他一切正常。

如果这不能解决问题,则向模板输出一个唯一字符串以检查它是否是被调用的模板(如TEST STRING)。

【讨论】:

以上是关于我无法使用 Python 和 Django 在网页上显示数据库中的数据的主要内容,如果未能解决你的问题,请参考以下文章

python Django1.3 建立网站,无法加载css

在Django中加载网页后调用动态python函数

使用 Django 和 a2 服务器将视图链接到网页

Matplotlib 无法在 OSX 上使用 Python 2.7 和 Django

python可以做网页吗?

使用 HTML/Django 调用 python 函数