[英]Displaying Table from Database using Python, Flask, Sqlalchemy, and HTML on pythonanywhere
So I am trying to display a table from my db on my web app.所以我试图在我的 web 应用程序上显示我的数据库中的一个表。 however when I run the program, I get all of my data on 1 row instead of lined up in the proper columns.
但是,当我运行程序时,我将所有数据放在 1 行中,而不是在正确的列中排列。 Parts of my HTML and Python code is below.
我的 HTML 和 Python 代码的一部分如下。 I am using pythonanywhere to launch my web app.
我正在使用 pythonanywhere 启动我的 web 应用程序。 Any advice on where I am messing up?
关于我在哪里搞砸的任何建议?
ID.HTML ID.HTML
<table style="margin-left: 20px;">
<!-- Table headers -->
<th>
<tr style="color: black; ">
<th>Last Name</th>
<th>First Name</th>
<th>SSN</th>
<th>MRN</th>
<th>Age</th>
<th>Sex</th>
<th>Incounter Type</th>
<th>Provider Last Name</th>
<th>Provider First Name</th>
<th>Admin Date</th>
<th>Admin Time</th>
<th>Hospital</th>
<th>Floor</th>
<th>Room</th>
<th>Bed</th>
</tr>
</th>
<tr>
{%for patient_id in query%}
<td>
{{patient_id.lname}}
</td>
<td>
{{patient_id.fname}}
</td>
<td>
{{patient_id.ssn}}
</td>
<td>
{{patient_id.mrn}}
</td>
<td>
{{patient_id.age}}
</td>
<td>
{{patient_id.sex}}
</td>
<td>
{{patient_id.incounter_type}}
</td>
<td>
{{patient_id.provider_lname}}
</td>
<td>
{{patient_id.provider_fname}}
</td>
<td>
{{patient_id.admin_date}}
</td>
<td>
{{patient_id.admin_time}}
</td>
<td>
{{patient_id.location_hospital}}
</td>
<td>
{{patient_id.location_floor}}
</td>
<td>
{{patient_id.location_room}}
</td>
<td>
{{patient_id.location_bed}}
</td>
{%endfor%}
</tr>
</table>
flask_app.py烧瓶应用程序.py
class patient_ID(db.Model):
__tablename__ = "patient_ID"
incounter_types = [('inpatient', 'inpatient'),
('outpatient', 'outpatient')
]
lname = db.Column(db.String(128))
fname = db.Column(db.String(128))
ssn = db.Column(db.String(9))
mrn = db.Column(db.String(8),primary_key=True)
age = db.Column(db.String(3))
sex = db.Column(db.String(6))
incounter_type = db.Column(db.String(128))#, choices=incounter_types)
provider_lname = db.Column(db.String(128))
provider_fname = db.Column(db.String(128))
admin_date = db.Column(db.String(128))
admin_time = db.Column(db.String(128))
location_hospital = db.Column(db.String(128))
location_floor = db.Column(db.String(3))
location_room = db.Column(db.String(10))
location_bed = db.Column(db.String(1))
@app.route("/Patient_Info/", methods=["GET", "POST"])
@login_required
def patient_info_page():
if request.method == "GET":
return render_template("ID.html", query=patient_ID.query.all())
if not current_user.is_authenticated:
return redirect(url_for('index'))
ID = patient_ID(mrn=request.form["mrns"])
return redirect(url_for('patient_info_page'), query)
You want a row for each patient, so write:你想为每个病人写一行,所以写:
{% for patient_id in query %}
<tr>
<td>
{{patient_id.lname}}
</td>
...
</tr>
{% endfor %}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.