【问题标题】:Listing table results to HTML with Flask使用 Flask 将表格结果列出到 HTML
【发布时间】:2017-10-07 09:31:26
【问题描述】:

我正在努力将我的 SELECT all 语句结果传递给我的视图。我正在使用烧瓶和 MySQLdb。将我的所有结果从我的表格显示到我的 HTML 页面的正确语法是什么?我很想通过一个列表,但无法弄清楚它的语法。

HTML 调用 {{ session.qid }} 只是为了测试,没有任何显示。

这是我目前的python代码:

@app.route('/view_answered/', methods=['GET','POST'])
def view_answered():
    error = ''
    try:
        if request.method == 'POST':
            c, conn = connection()
            clientcid = session['clientcid']

            cursor.execute("SELECT * FROM tickets WHERE cid = 1 AND solved = 0")
            results = cursor.fetchall()
            x = 0
            qid = []
            difficulty = []
            time_stamp = []
            title = []
            body = []

            for row in results:
                qid[x] = row[0]
                difficulty[x] = row[3]
                time_stamp[x] = row[4]
                title[x] = row[6]
                body[x] = row[7]

                x = x + 1

            conn.commit()
            c.close()
            conn.close()
            gc.collect()
            session['qid'] = qid
            session['difficulty'] = difficulty
            session['time_stamp'] = time_stamp
            session['title'] = title
            session['body'] = body
            return redirect(url_for('view_answered'))

        else:
            error = "Something is aloof."

        return render_template("view_answered.html")

    except Exception as e:
        return(str(e))

【问题讨论】:

    标签: python flask mysql-python


    【解决方案1】:

    用这段代码解决了,也干净多了!

    @app.route('/view_answered/', methods=['GET','POST'])
    def view_answered():
        error = ''
        try:
            result = ''
            c, conn = connection()
            clientcid = session['clientcid']
            c.execute("SELECT * FROM tickets WHERE cid = (%s) AND solved = 1", (clientcid,))
            result = c.fetchall()
            conn.commit()
            c.close()
            conn.close()
            return render_template("view_unanswered.html", result = result)
    
        except Exception as e:
            return(str(e))
    

    VIEW(r[0]、r[2]等,对应SQL表中的列位置)

    {% for r in result %}
            <li>Question ID: {{ r[0] }}</li>
            <li>Difficulty: {{ r[3] }}</li>
            <li>Time Submitted: {{ r[4] }}</li>
            <li>Title: {{ r[6] }}</li>
            <li>Body: {{ r[7] }}</li>
            <li>Answer: {{ r[8] }}</li>
            <li>By: {{ r[3] }}</li>
            <br><br>
    {% endfor %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-17
      • 2018-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-20
      • 1970-01-01
      • 2022-10-13
      相关资源
      最近更新 更多