Python での flask_merge と flask_script の使用の概要 (コード付き)
この記事では、Python での flask_merge と flask_script の使用方法を紹介します (コード付き)。これには一定の参考価値があります。必要な友人は参照できます。お役に立てれば幸いです。
flask_merge
falsk_sqlalchemy を使用する場合、後で「db.create_all」を使用してデータベース テーブルのフィールドを変更すると、データベースに自動的にマッピングされないため、削除する必要があります。 ,
次に、「db.create_all」を再実行して再マップします。これは要件を満たしていないため、
この問題を解決するには flask-migrate を使用します。モデル (クラス)
from flask_sqlalchemy import SQLAlchemy from flask import Flask import pymysql from sqlalchemy import desc from flask_bootstrap import Bootstrap app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:sheen@localhost/migrate_sql' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db = SQLAlchemy(app) app.config['SECRET_KEY'] = 'SHEEN' bootstrap = Bootstrap(app) class User(db.Model): id = db.Column(db.INTEGER,autoincrement=True,primary_key=True) # 用户名唯一且不能为空 name = db.Column(db.String(30),unique=True,nullable=False) # 测试:添加gender属性 gender = db.Column(db.BOOLEAN,default=True) todos = db.relationship('Todo',backref='user') class Todo(db.Model): id = db.Column(db.INTEGER, autoincrement=True, primary_key=True) # unique: 指定该列信息是唯一的; name = db.Column(db.String(50)) user_id = db.Column(db.INTEGER,db.ForeignKey('user.id')) if __name__ == '__main__': db.create_all()
データベース テーブル user と todo が生成され、テーブルにデータが含まれている場合、モデル (クラス) を変更するたびに、変更されたフィールドをデータベースにマップできます。このとき、ユーザーの使用に影響を与えずにデータベース テーブルに属性 (ユーザーの性別) を追加する必要があるため、データベース マイグレーションを使用してこれを処理し、元のデータベース操作ファイル model
# 测试:添加gender属性 gender = db.Column(db.BOOLEAN,default=True)
##main 属性の移行
移行ウェアハウス (移行ディレクトリ) の作成python manager.py db init
python manager.py db migrate -m "添加性别"
python manager.py db upgrade
python manager.py db history
python manager.py db downgrade base
データベース変更の管理
データベース変更を管理するための新しい manage.py ファイルを作成しますfrom flask_script import Manager from flask_migrate import Migrate, MigrateCommand from models import app,db migrate = Migrate(app,db) manager = Manager(app) manager.add_command('db',MigrateCommand) if __name__ == '__main__': manager.run()
1. 初始化(自动生成migrations目录) python manager.py db init 2. 生成最初的迁移 python manager.py db migrate -m '添加用户性别' 出现语句:Detected added column 'user.gender',表明对model有所改动 3.数据库升级 python manager.py db upgrade 生成数据库历史版本的py文件:Running upgrade -> 202a710ebeb6, '添加用户性别'
flask_script
Flask Script 拡張機能は、外部スクリプトを Flask に挿入する機能を提供し、スクリプトをシステムから分離します全体的なフレームワーク
最初に、Python テンプレートを作成します。Python テンプレートは、script.py という名前のコマンド スクリプトを実行します。このファイルには、Manager インスタンスが必要です。Manager クラスは、すべてのコマンドの実行を追跡します。
Manager には 1 つのパラメータしかありません - Flask インスタンス
from flask_script import Command,Manager from flask import Flask app = Flask(__name__) manager = Manager(app) if __name__ == '__main__': manager.run()
コマンドの作成
次に、コマンドを作成して追加します。コマンドを作成するには 3 つの方法があります。つまり、コマンド サブクラスの作成、@command 修飾子を使用する方法、および @option 修飾子を使用する方法です。
サブクラスは次のようにする必要があります。実行メソッドを定義する
Hello コマンドを作成し、Hello コマンドを Manager インスタンスに追加する
class Hello(Command): """欢迎信息""" def run(self): print('hello,sheen') manager.add_command('hello',Hello)
@manager.command def add_user(): """添加用户信息""" print('添加用户成功')
@option; を使用することをお勧めします。複数のパラメータを渡すことができます
@manager.option('-n','--name',help='删除用户') def del_user(name): """删除用户信息""" if name: print('删除用户%s成功' %(name)) else: print('用户名为空!')
完全な例
# script.py from flask_script import Command,Manager from flask import Flask app = Flask(__name__) manager = Manager(app) class Hello(Command): """欢迎信息""" def run(self): print('hello,sheen') manager.add_command('hello',Hello) @manager.command def add_user(): """添加用户信息""" print('添加用户成功') @manager.option('-n','--name',help='删除用户') def del_user(name): """删除用户信息""" if name: print('删除用户%s成功' %(name)) else: print('用户名为空!') if __name__ == '__main__': manager.run()
以上がPython での flask_merge と flask_script の使用の概要 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

NAVICATを使用してローカルMYSQLデータベースに接続するには:接続を作成し、接続名、ホスト、ポート、ユーザー名、およびパスワードを設定します。接続をテストして、パラメーターが正しいことを確認します。接続を保存します。接続リストから新しい接続を選択します。接続するデータベースをダブルクリックします。

and:mysql:Alter table_name add column_name data_type; postgresql:column column_name data_typeを変更するcolumn column_name datape; oracle:alter table_name add(column_name data_type);

データの専門家として、さまざまなソースから大量のデータを処理する必要があります。これは、データ管理と分析に課題をもたらす可能性があります。幸いなことに、AWS GlueとAmazon Athenaの2つのAWSサービスが役立ちます。

SQLグラフィックスの列を追加するツール:追加する列を選択するテーブルを選択します。 [テーブルを変更]または同様のオプションを右クリックして選択します。新しい列のプロパティ(名前、データ型、長さ、または空のかどうか)を定義します。該当する場合は、新しい列のデフォルト値を指定します。データエラーを回避するには、適切なデータ型を選択します。意味のある列名を使用します。大きなテーブルで列の追加操作を実行する際のパフォーマンスへの影響を考慮してください。データの損失を防ぐために、操作の前に常にデータベースをバックアップしてください。

SQL(Structured Query Language)は、データベースの作成、管理、およびクエリに使用されるプログラミング言語です。主な機能には、データベースとテーブルの作成、データの挿入、更新、削除、結果の結果とフィルタリング機能、集約関数、テーブルの結合、サブQUERIES、オペレーター、機能、キーワード、データ操作/定義/コントロール言語、接続タイプ、クエリ最適化、セキュリティ、ツール、リソース、リソース、バージョン、一般的なエラー、ロバット、ロバット、ドバギングのエリック。

NAVICATでSQLファイルをインポートする方法は? NAVICATを開き、ターゲットデータベースに接続します。 [クエリ]タブに移動します。 [SQLファイルのインポート]ボタンをクリックします。 SQLファイルを選択し、インポートオプションを設定します。 [インポート]ボタンをクリックして、インポートを開始します。
