为了账号安全,请及时绑定邮箱和手机立即绑定

Python / SQL 不显示连接的数据库到表

Python / SQL 不显示连接的数据库到表

泛舟湖上清波郎朗 2021-09-14 21:36:17
我有一个连接的 SQL 花卉数据库(属、种、名称),其中填充了一个只显示该信息的表。我只能让属列正确填充,但不能正确填充物种/名称列。工作代码 - 正确显示一列:更新.html<!--this is for the table -->   <div class="container">       <div class="row">           <div class="col">               <table id="table" border="1">                   <tr>                       <th class="cell">Genus</th>                       <th class="cell">Species</th>                       <th class="cell">Comname</th>                   </tr>                   <!--the next line with the python code works as long as you only want the genus information-->                   {% for g in genus_update %}                   <tr>                       <td class="cell">{{g}}</td>                       <!--<td class="cell">{{g}}</td>-->                       <!--<td class="cell">{{c}}</td>-->                   </tr>                   {% endfor %}               </table>           </div>           <div class="col">               <!--the right column so that everything is lined up on the left side-->           </div>       </div>   </div>尝试为其他人使用 for 循环会破坏页面(不确定为什么):{% for s in species_update %}  <tr>    <td class="cell">{{s}}</td>  </tr>{% endfor %}{% for c in comname_update %}  <tr>    <td class="cell">{{c}}</td>  </tr>{% endfor %}蟒蛇.py:from flask import Flask, render_template, request, gimport sqlite3app = Flask (__name__)# conn = sqlite3.connect('flowers.db')# c = conn.cursor()DATABASE = 'flowers.db'def get_db():   db = getattr(g, '_database', None)   if db is None:       db = g._database = sqlite3.connect(DATABASE)   return db@app.teardown_appcontextdef close_connection(exception):   db = getattr(g, '_database', None)   if db is not None:       db.close()@app.route('/')def index():   c = get_db().cursor()   c.execute('SELECT COMNAME FROM FLOWERS')   all_flowers = c.fetchall()   return render_template("index.html", all_flowers=all_flowers)
查看完整描述

3 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

解决了

解决方案


html代码:


{% for g, s, c in genus_flowers%}

                   <tr>

                       <td class="cell">{{g}}</td>

                       <td class="cell">{{s}}</td>

                       <td class="cell">{{c}}</td>


                   </tr>

{% endfor %}

蟒蛇代码:


@app.route('/update')

def update():

   c = get_db().cursor()

   # this just gets the data from the db


   c = get_db().cursor()

   c.execute('SELECT GENUS, SPECIES, COMNAME FROM FLOWERS')

   genus_flowers = c.fetchall()

   return render_template("update.html", genus_flowers=genus_flowers)


查看完整回答
反对 回复 2021-09-14
?
狐的传说

TA贡献1804条经验 获得超3个赞

我知道在 Django 中,python 的另一个 web 框架,你必须引用对象中的字段,而不仅仅是对象本身。因此,如果您执行 Select *,而不是 Select 'field':


@app.route('/update')

def update():

   c = get_db().cursor()

   # this just gets the data from the db

   c.execute('SELECT * FROM FLOWERS')

   flowers = c.fetchall()

   zipped = zip(genus_update, species_update)

   return render_template("update.html", flowers=flowers, zipped=zipped)

然后,您可以执行以下操作:


<!--this is for the table -->

   <div class="container">

       <div class="row">

           <div class="col">

               <table id="table" border="1">

                   <tr>

                       <th class="cell">Genus</th>

                       <th class="cell">Species</th>

                       <th class="cell">Comname</th>

                   </tr>

                   <!--the next line with the python code works as long as you only want the genus information-->

                   {% for f in flowers %}

                   <tr>

                       <td class="cell">{{ f.genus }}</td>

                       <td class="cell">{{ f.species }}</td>

                       <td class="cell">{{ f.comname }}</td>

                   </tr>

                   {% endfor %}

               </table>

           </div>

           <div class="col">

           </div>

       </div>

   </div>



查看完整回答
反对 回复 2021-09-14
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

我不确定这里究竟会发生什么,但由于我处于这种情况之前,我建议您先测试是否从数据库中获取数据,而不是直接检查 Flask 呈现它的部分。确保传递的查询的数据也存在。

希望这将有助于进展。


查看完整回答
反对 回复 2021-09-14
  • 3 回答
  • 0 关注
  • 372 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信