我无法使用 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';">×</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 在网页上显示数据库中的数据的主要内容,如果未能解决你的问题,请参考以下文章