#python #mysql #flask
#python #mysql #flask
Вопрос:
У меня проблемы с flask-mysql (https://flask-mysql.readthedocs.io/en/latest /) когда я пытаюсь получить пользователей из базы данных с помощью функции cursor.execute, курсор возвращает число вместо строки пользователей, мой код выглядит следующим образом:
from flask import Flask, render_template,url_for,request,session,logging,redirect,flash
from flaskext.mysql import MySQL
def create_app():
app = Flask(__name__)
# do some setup
return app
app = create_app()
app.config["MYSQL_DATABASE_USER"] = "username"
app.config["MYSQL_DATABASE_HOST"] = "localhost"
app.config["MYSQL_DATABASE_PASSWORD"] = "password."
app.config["MYSQL_DATABASE_DB"] = "databasename"
mysql = MySQL()
mysql.init_app(app)
@app.route("/database")
def database():
cursor = mysql.get_db().cursor()
dbs = cursor.execute("select user from mysql.user")
return str(dbs)
def hello_world():
return 'Hello, World!'
@app.route("/home")
def home():
return render_template("home.html")
Когда я пытаюсь получить доступ к 127.0.0.1: 5000 / database, я получаю это в браузере:
9
Это число 9 фактически соответствует количеству пользователей в базе данных.
Комментарии:
1. cursor.execute() возвращает итератор, а не значение одного столбца из строки.
2. да, попробуйте print (dbs) и посмотрите, как это выглядит
![]()
3. чего вы ожидаете от этого? список пользователей?