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):
    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)
  • 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リクエストをテストします.