flaskまとめ


モデルのフレームワーク-ORM(オブジェクト関係マッピング)
ORMフレームワークの3つの特徴:
1.データテーブルからプログラミングクラスへのマッピング2.データ型のマッピング3.データテーブルの関係をプログラミングクラスにマッピングする関係マッピング
ORMの利点:
データベース内のすべての操作をカプセル化し、開発効率を大幅に向上させます.膨大なデータアクセス層を省略でき、SQLコードを使わなくてもデータに対するCRUD操作PythonのORMフレーム:SQLAlchemy FlaskのORMフレーム:SQLAlchemyを完了できるが、Flask-SQLAlchemyプラグインパッケージをインストールする必要がある
データベースの作成:
create database      default charset utf8 collate utf8_general_ci;
collate utf8_general_ci:        

collate=utf8_bin utf8_bin:大文字と小文字を区別utf 8_general_cs:大文字と小文字が敏感;case insensitiveの略utf 8_general_ci:大文字と小文字は敏感ではありません.case insensitiveの略で、大文字と小文字が敏感ではないことを意味します
Flaskでのデータベースの構成
1.app(Flaskアプリケーションインスタンス)による構成情報の構築
app.config['SQLALCHEMY_DATABASE_URI']="mysql+pymysql://   :  @  :  /    "

例:
`app.config['SQLALCHEMY_DATABASE_URI']="mysql+pymysq://root:123456@localhost:3306/flask"`

2.データベース・インスタンスの作成
from flask_sqlalchemy import SQLALchemy
db = SQLAlchemy(app)

モデルクラスのマッピング管理
    
1.python3 run.py db init
2.python3 run.py db migrate
3.python3 run.py db upgrade

自動コミットの設定
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']=True

ハッシュ暗号化されたパケット
from werkzeug.security import generate_password_hash,check_password_hash

汎用構成
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://root:123456@localhost:3306/flaskLogin"
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'you guess'
db = SQLAlchemy(app)
manager = Manager(app)
migrate = Migrate(app, db)
manager.add_command('db', MigrateCommand)
if __name__ == "__main__":
    manager.run()

続きます....