flask sql serverの接続方法
3824 ワード
開発環境の準備 python 3.4およびpipをインストールします.flaskの現在のバージョンでは3.6のpython はサポートされていません. pycharmをインストールし、pycharmはpythonのGUI開発デバッグツールとして便利で、pycharmでflaskプロジェクトを直接作成することができます.
かいはつ
pycharmを起動し、flaskプロジェクトを作成します.
開発を開始する前に、必要なパッケージをいくつか導入する必要があります. sqlalchemy flask-sqlalchemy pydoc
32ビットのsqlデータベースに接続するdsnを確立し、システムが64ビットの場合、C:WindowsSysWOW 64でodbcad 32を起動する必要がある.exeはdsnを作成します.
プロジェクトのpython実行環境を構成し、pycharmでalt+ctrl+sがプロジェクトの設定に入り、project interpreterを選択し、pythonの実行環境を設定し、python 3を選択する.4を実行環境とします.
システムの実行をテストするには、sqlserver Management studioでId_を含むtestflaskテーブルを作成します.P,LastName,FirstName,Address,Cityプロパティおよび数行のデータを追加します.モデルにフィールドのprimary keyを指定する必要があります.
サンプルコードは次のとおりです(run.py):
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
コードを実行し、ブラウザでurl:http://127.0.0.1:5000/test/listテスト
配備(flask+nginx+tornado) nginxをダウンロードして、インストール:解凍して、c:ディレクトリの下の にコピーします構成nginx:構成C:ginx-1.14.0confディレクトリ下nginx.confファイル、location/{proxy_passの設定http://localhost:5000; netstat-ano|findstr"80"を使用して、ポートが占有されているかどうかを確認します.占有されている場合は、ポートを変更する必要があります. python 3をインストールします.4.3ダウンロードパス:https://download.csdn.net/download/qq_27532427/88171053.6.5 flask はサポートされていませんインストールvirtualenv:pipディレクトリの下C:Python 34コマンドライン実行:pip install virtualenv、管理者ユーザーでpower shellを起動し、windows server power shellコマンドラインの下で、実行:.\pip install virtualenv .cディスクでデプロイメントディレクトリを作成する:c:restService、仮想環境を作成し、c:restServiceディレクトリの下で、virtualenv-p「c:Python 34python.exe」restService--distribute--no-site-package、 を実行します.作成された仮想ディレクトリのpipパスの下に、プロジェクトに依存するパッケージをインストールする:.pip install xxx、依存パッケージを仮想環境にインストールする Flask sqlalchemy flask-sqlalchemy pyodbc等 tornado
7.tornado管理プログラムtornado_の作成server.pyはメインプログラムと同じディレクトリの下で、コードは:
#coding=utf-8
#!/usr/bin/python
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from run import app#上記コードと同じ
http_server = HTTPServer(WSGIContainer(app))
http_server.Listen(5000)#flaskデフォルトのポートは、任意に変更できます
IOLoop.instance().start()
8 32ビットdnsを作成する.
9仮想環境とpythonを起動し、仮想環境のインストールパスC:restServicesrestServicesScripts,.activate仮想環境を起動する;
Python tornado_server.pyアプリケーションの起動
10.nginxの起動:コマンドライン:start nginx
11.最後にhttpリクエストをテストします.
かいはつ
pycharmを起動し、flaskプロジェクトを作成します.
開発を開始する前に、必要なパッケージをいくつか導入する必要があります.
32ビットのsqlデータベースに接続するdsnを確立し、システムが64ビットの場合、C:WindowsSysWOW 64でodbcad 32を起動する必要がある.exeはdsnを作成します.
プロジェクトのpython実行環境を構成し、pycharmでalt+ctrl+sがプロジェクトの設定に入り、project interpreterを選択し、pythonの実行環境を設定し、python 3を選択する.4を実行環境とします.
システムの実行をテストするには、sqlserver Management studioでId_を含むtestflaskテーブルを作成します.P,LastName,FirstName,Address,Cityプロパティおよび数行のデータを追加します.モデルにフィールドのprimary keyを指定する必要があります.
サンプルコードは次のとおりです(run.py):
from flask import Flask, jsonify, request
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.sql import func
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mssql+pyodbc://username:password@dsn'#( , dsn)
db = SQLAlchemy(app)
class testflask(db.Model): # model,
Id_P = db.Column(db.Integer, primary_key=True)
LastName = db.Column(db.String(255))
FirstName = db.Column(db.String(255))
Address = db.Column(db.String(255))
City = db.Column(db.String(255))
@app.route('/test/list', methods=['GET'])
def get_data():
myData = testflask.query.all()
output = []
for record in myData:
r_data = {}
r_data['Id_P'] = record.Id_P
r_data['FirstName'] = record.FirstName
r_data['LastName'] = record.LastName
r_data['Address'] = record.Address
r_data['City'] = record.City
output.append(r_data)
return jsonify({'message': output})
if __name__ == '__main__':
app.run(debug=True)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
コードを実行し、ブラウザでurl:http://127.0.0.1:5000/test/listテスト
配備(flask+nginx+tornado)
7.tornado管理プログラムtornado_の作成server.pyはメインプログラムと同じディレクトリの下で、コードは:
#coding=utf-8
#!/usr/bin/python
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from run import app#上記コードと同じ
http_server = HTTPServer(WSGIContainer(app))
http_server.Listen(5000)#flaskデフォルトのポートは、任意に変更できます
IOLoop.instance().start()
8 32ビットdnsを作成する.
9仮想環境とpythonを起動し、仮想環境のインストールパスC:restServicesrestServicesScripts,.activate仮想環境を起動する;
Python tornado_server.pyアプリケーションの起動
10.nginxの起動:コマンドライン:start nginx
11.最後にhttpリクエストをテストします.