前提条件
業務で購買データを分析するツールの作成をしております。
ツールの仕様と致しましては、入力画面より「商品名・期間」などを入力すると、
SQLで取得した購買データを元に分析した結果を表示するというものです。
またツールはFlaskで作成します。
悩んでいる部分
この処理の中で、データベースを叩く部分はdatabaseのクラスに持たせたいと思っています。
※ソースコードは所々改変しています。
request_data = { "id":request.form["login_id"], "password":rewuest.form["login_password"], "goods_name":request.form["goods_name"], "date_start":request.form["date_start"] + " 00:00:00", "date_end":request.form["date_end"] + " 00:00:00", } db_manager = TeradataConect(request_data,CONFIG_PATH)
入力フォームのデータとコンフィグのパスを指定してオブジェクト化します。
このときに、configデータの読み込み方と、命名規則に関して悩んでいます。
変数宣言
- クラス変数で読み込むべきか
- インスタンス変数で読み込むべきか
また、ドライバやDBの情報のため、書き換えを行わないので大文字で宣言すべきかで悩んでいます。
今は下記のようにデータベースへの接続情報といった、他の関数で使用する部分のみを
インスタンス変数、かつ大文字表記で宣言する形にしています。
configparserを使った開発でのルールや規則などがございましたらご教授頂けますと幸いです。
以上より、よろしくお願い致します。
python
1class DatabaseConect: 2 def __init__(self,request_data,config_path): 3 inifile = configparser.ConfigParser() 4 inifile.read(config_path, 'UTF-8') 5 6 # config read 7 DRIVER = inifile.get('odbc', 'driver') 8 CHARACTER_SET = inifile.get('odbc', 'character_set') 9 10 #sql folder read 11 MAIN_SQL_FOLDER_PATH = inifile.get('folder_path', 'main_sql') 12 INIT_TABLE_SQL_FOLDER_PATH = inifile.get('folder_path', 'init_table_sql') 13 14 # input setting 15 self.CONNECT_INFO = "DRIVER="+DRIVER+";CharacterSet="+CHARACTER_SET 16 17 (省略)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/13 01:22
2019/02/13 02:04
2019/02/13 06:28