Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да върна данни от MySQL заявка в приложение на Flask?

Използвайте вградения jsonify функция, тъй като вече е разширена за работа с дати :

from Flask import jsonify

@app.route('/temp')
def temp():
    # Load database results
    # and then ...
    return jsonify(data=cur.fetchall())

Данните ще бъдат върнати като обект с един ключ (data ), съдържащ масив от редове (които или ще бъдат представени като масиви или обекти в зависимост от това какво fetchall връща редове като).

Ако трябва да сериализирате повече типове (както във вашия случай, вие връщате date вместо datetime екземпляри, ще трябва да замените json_encoder на Flask свойство с подклас JSONEncoder който знае как да се справя с вашите типове:

class SpecializedJSONEncoder(JSONEncoder):
    def default(o):
        if isinstance(o, date):
            return date.strftime("%Y-%m-%d")
        else:
            super(SpecializedJSONEncoder, self).default(o)

След това можете да го зададете на вашата Flask пример:

app.json_encoder = SpecializedJSONEncoder

Вече ще можете да обработвате date s, както и datetime с.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Детерминистична функция в mysql

  2. MySQL find_in_set с множество низове за търсене

  3. Мигриране на MySQL към PostgreSQL на AWS RDS, част 3

  4. Модел на Laravel с POINT/POLYGON и т.н., използвайки DB::raw изрази

  5. Вмъкнете данни от формуляра в две различни таблици в базата данни чрез jsp страница