Использование MySQL в фляге

Может ли кто-нибудь поделиться примерами кодов в Flask о том, как получить доступ к базе данных MySQL? Были документы, показывающие, как подключаться к sqlite, но не к MySQL.

заранее большое спасибо

4 Solutions collect form web for “Использование MySQL в фляге”

from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@server/db' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True) email = db.Column(db.String(120), unique=True) def __init__(self, username, email): self.username = username self.email = email def __repr__(self): return '<User %r>' % self.username 

Вы можете Google «Flask-Sqlalchemy» для большего количества вещей.

Во-первых, вам нужно установить пакет Flask-MySQL. Используя pip например:

pip install flask-mysql

Затем вам нужно добавить некоторую конфигурацию и инициализировать MySQL:

 from flask import Flask from flaskext.mysql import MySQL app = Flask(__name__) mysql = MySQL() app.config['MYSQL_DATABASE_USER'] = 'root' app.config['MYSQL_DATABASE_PASSWORD'] = 'root' app.config['MYSQL_DATABASE_DB'] = 'EmpData' app.config['MYSQL_DATABASE_HOST'] = 'localhost' mysql.init_app(app) 

Теперь вы можете получить объекты соединения и курсора и выполнить необработанные запросы:

 conn = mysql.connect() cursor =conn.cursor() cursor.execute("SELECT * from User") data = cursor.fetchone() 

Довольно просто с pymysql:

 from flask import Flask, request, render_template import pymysql db = pymysql.connect("localhost", "username", "password", "database") app = Flask(__name__) api = Api(app) @app.route('/') def someName(): cursor = db.cursor() sql = "SELECT * FROM table" cursor.execute(sql) results = cursor.fetchall() return render_template('index.html', results=results) if __name__ == '__main__': app.run(debug=True) 

В вашем файле index.html просто выполните что-то вроде:

 <div> <% for row in results %} <tr> <td>{{ row[0] }}</td> <td>{{ row[1] }}</td> <td>{{ row[2] }}</td> <td>{{ row[3] }}</td> </tr> {% endfor %} </div> 
 #!/usr/bin/python from flask import Flask,jsonify,abort, make_response import MySQLdb app = Flask(__name__) db = MySQLdb.connect("localhost", "root", "yourDbPassWord", "DBname") @app.route('/api/v1.0/items', methods=['GET']) def get_items(): curs = db.cursor() try: curs.execute("SELECT * FROM items") ... except: print "Error: unable to fetch items" return jsonify({"desired: " response}) 
  • Узел vs python для создания веб-сервисов RESTful
  • Как аутентифицировать скрипт urllib2 для доступа к веб-службам HTTPS с сайта Django?
  • Должен ли я использовать Pylon's Paste для размещения моего сайта Pylons? Или я могу использовать Apache?
  • Рамки для реализации веб-службы REST в Django
  • Параметры кода де-кодирования
  • Достаточно ли дьянго-поршень?
  • Как получить доступ к серверу разработки бутылок с другого ПК в локальной сети?
  • Объективные причины использования Python или Ruby для нового веб-интерфейса REST
  •  
    Interesting Posts for Van-Lav

    Eclipse и Python 3: почему printf () из ctypes отображается на консольном выходе после последующих операторов print ()

    python: добавление словаря в список – я вижу указатель вроде поведения

    Python – как я могу обратиться к массиву вдоль заданной оси?

    Можно ли использовать SQL для разделения содержимого столбца таблицы, хранящегося в CSV (значения, разделенные запятой) на отдельные строки в новой таблице?

    Как создать arrayType для WSDL в Python (используя пенообразование)?

    Преобразование html в изображение?

    Войдите в систему на www.virtualtrader.co.uk, используя запросы python или аналогичный модуль?

    чтение подчиненного устройства, чтение-запись

    OpenCL для Python

    Невозможно точно рассчитать pi на Python

    Python functools.lru_cache выключение или эквивалент

    Получение общего количества слов с двумя или более буквами в документе с использованием python

    Можно ли покрасить определенный элемент в виджет Listbox?

    Меньший эквивалент массива ячеек MATLAB

    Веб-сеансы: AttributeError: объект ThreadedDict не имеет атрибута 'username'

    Python - лучший язык программирования в мире.