Python 将html表数据发送到flask方法并从数据库检索信息

Python 将html表数据发送到flask方法并从数据库检索信息,python,html,forms,sqlite,flask,Python,Html,Forms,Sqlite,Flask,我一直在Flask中使用sqlite3 for DB进行一个小型项目。该项目是关于如何保护患者的医疗记录。我有两个视图,一个用于管理员插入新患者并查看其详细信息,另一个用于患者查看其记录。 我的问题是,当管理员插入新患者时,该特定患者的姓名和ID将添加到动态html表中,并且从该表中的患者列表中,他可以单击特定患者以查看其记录。但我无法绘制患者记录的查看部分。 我收到一个运行时错误,上面写着TypeError:view函数没有返回有效的响应。函数返回None或结束时没有返回语句 以下是模板: 带

我一直在Flask中使用sqlite3 for DB进行一个小型项目。该项目是关于如何保护患者的医疗记录。我有两个视图,一个用于管理员插入新患者并查看其详细信息,另一个用于患者查看其记录。 我的问题是,当管理员插入新患者时,该特定患者的姓名和ID将添加到动态html表中,并且从该表中的患者列表中,他可以单击特定患者以查看其记录。但我无法绘制患者记录的查看部分。 我收到一个运行时错误,上面写着TypeError:view函数没有返回有效的响应。函数返回None或结束时没有返回语句 以下是模板:

带有患者姓名和ID的动态表:

 {% block content %}
    <form method="post" action="{{ url_for('custom') }}">
<table>
  <thead>
            <th>ID</th>
            <th>Name</th>
            <th>Age</th>
  </thead>

    {% for row in rows %}
    <tr>


                <td name="userid1"><a href="{{ url_for('custom') }}" >{{ row.Userid }}</a></td>
                <input type="hidden" id="id" name="userid1"  value=" {{ row.Userid }}"/>
                <td name="names1"><a href="{{ url_for('custom') }}" > {{row.Name}}</a></td>
                <input type="hidden" id='na' name="names1" value="{{row.Name}}" />
                <td> {{ row["Age"]}}</td>
            </tr>
         {% endfor %}
</table>
    <br><br>
    </form>``
{% endblock %}

当用户单击中的链接时,将发送GET请求。此request.form.getuserid1将像request.form.getnames1一样返回None。如果pat[0]==User\u ID:将永远不会为真。程序失败,无法返回有效响应。这就是它发生的原因。由于这是患者数据,并且从美国的角度来看,您可能不应该在查询字符串ie GET请求中发送id/名称。也许必须引入javascript。花些时间考虑一下选项,即:。这是一个新的信息

</div>
</div>
<div class="details" style="height:550px;" >
    <img src="static/images/bg2.png" style="width:250px;height:300px;margin-top:3%;">
    <div class="contentin">
      <p class="tit1"><b>{{ infos[1] }}</b></p>
      <b><p class="tit2">Age:&nbsp;&nbsp;<font style="color:black;">{{ infos[2] }}</font></p>
      <p class="tit2">Sex:&nbsp;&nbsp;<font style="color:black;">{{ infos[3] }}</font></p>
      <p class="tit2">Height:&nbsp;&nbsp;<font style="color:black;">{{ infos[4] }}</font></p>
      <p class="tit2">Weight:&nbsp;&nbsp;<font style="color:black;">{{ infos[5] }}</font></p>
       <p class="tit2">Sugar Level:&nbsp;&nbsp;<font style="color:black;">{{ infos[6] }}</font></p>
       <p class="tit2">BP Level:&nbsp;&nbsp;<font style="color:black;">{{ infos[7] }}</font></p>
       </b>
      <button class="btn" style="width:350px;"><font style="color:white;"><b>Download All Reports&nbsp;&nbsp;<i class="fa fa-download"></i></button>&nbsp;&nbsp;
<button class="btn" style="width:300px;">Share&nbsp;&nbsp;<i class="fa fa-share-alt"></i></b></font></button></center>

    </div>
</div>
@app.route('/patientinfo')
def patientinfo():
    conn = sqlite3.connect('patients.db')
    conn.row_factory = sqlite3.Row

    c = conn.cursor()
    c.execute("select Userid,Name,Age from details")

    rows = c.fetchall()
    return render_template("patientinfo.html", rows=rows)


@app.route('/hospital', methods=['GET', 'POST'])
def custom():
    User_ID = request.form.get("userid1")
    Name = request.form.get("names1")
    conn = sqlite3.connect('patients.db')
    cul = conn.cursor()
    cul.execute('SELECT Userid, Name, Age, Sex, Height, Weight, Sugar, BP from details')
    pt = cul.fetchall()
    for pat in pt:
        if pat[0] == User_ID:
            if pat[1] == Name:
                return render_template("hospital.html", infos=pat)