2016-11-21 3 views
0

Im einige Inhalte aus einer TabelleAnzeige mehr als einen Datensatz mit mysql und Kolben

mein Code sieht aus wie zu bekommen versuchen:

@app.route('/') 
def home(): 
    cursor = mysql.connect().cursor() 
    cursor.execute("SELECT titlle from cards ORDER BY id desc") 
    data = cursor.fetchone() 
    return data 

aber es zeigt mir nur ein, weil gut ... ich m mit der fetchone() aber wenn ich die fetchall verwendet() heißt es, dass es zu viele Datensätze sind:/

, wie kann ich das beheben mein Code tatsächlich alle Karten vom TischTitel anzuzeigen

Antwort

0

Sie können keine beliebigen Dinge von Endpunkten zurückgeben. Sie müssen responseähnliche Objekte zurückgeben. Dies kann entweder eine Zeichenfolge, eine Instanz von Response oder ein Tupel sein, das den Antworttext, (optional) den Statuscode und die Header enthält.

Ich vermute, dass Sie die Titel verwenden möchten, um etwas in JavaScript zu tun. Wahrscheinlich möchten Sie sie in einer JSON-Antwort senden. Verwenden Sie dazu jsonify.

from flask import jsonify 

# snip 
return jsonify(titles=[row['title'] for row in cursor.fetchall()]) 
+0

Danke :) :) –

0

Dies ist, was ich in meinem Testprogramm tun, um MariaDB oder MySQL zu verbinden und es funktioniert:

@main.route('/mariadb') 
def mariab(): 
    print current_app.config['MYSQL_USER'] 
    print current_app.config['MYSQL_DB'] 
    cur = mysql.connection.cursor() 
    cur.execute('SELECT titlle from cards ORDER BY id desc') 
    entries = cur.fetchall() 
    print entries 
    return render_template('mariadb.html', 
          database=current_app.config['MYSQL_DB'], 
          user=current_app.config['MYSQL_USER'], 
          entries=entries) 
Verwandte Themen