Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để trả lại dữ liệu từ truy vấn MySQL trong ứng dụng Flask?

Sử dụng jsonify tích hợp sẵn của Flask , vì nó là đã được mở rộng để hoạt động với ngày tháng :

from Flask import jsonify

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

Dữ liệu sẽ được trả về dưới dạng một đối tượng với một khóa duy nhất (data ) chứa một mảng các hàng (sẽ được biểu thị dưới dạng mảng hoặc đối tượng tùy thuộc vào fetchall gì trả về các hàng dưới dạng).

Nếu bạn cần sắp xếp nhiều loại hơn (như trong trường hợp của bạn, bạn đang lấy lại date thay vì datetime các trường hợp, bạn sẽ cần ghi đè json_encoder của Flask thuộc tính có lớp con của JSONEncoder biết cách xử lý các loại của bạn:

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

Và sau đó, bạn có thể đặt nó trên Flask của mình ví dụ:

app.json_encoder = SpecializedJSONEncoder

Bây giờ bạn sẽ có thể xử lý date s cũng như datetime s.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách khắc phục lỗi MySQL 1064

  2. CẬP NHẬT MYSQL PHP nếu Tồn tại hoặc CHÈN nếu không?

  3. Cơ sở dữ liệu / SQL:Làm thế nào để lưu trữ dữ liệu kinh độ / vĩ độ?

  4. Cây phả hệ mysql

  5. lỗi dấu phân cách mysql