pythonのお時間~データベースの設定及びその操作としてのモデル

   

記事の投稿や閲覧をするには、当該データを保存しておく必要がある。
ということはデータベースが必要となる。

Flaskではデータベースを扱うSQLAlchemyというライブラリがあるそうです。

そもそもデータベースと言っても様々なものがあって、それぞれ特徴があり、向き不向きなどもあるようで初心者だとそれこそわけわかめです。

SQLAlchemyをインスト
ということでSQLAlchemyをインストする必要がある。ここで注意が必要だったのはpipenvでインストすると本では説明されているが、仮想環境envは導入していないのだった。
仮想環境だとプロジェクト毎に管理できるからとあったのだが、めんどくさそうなので(何がめんどくさかったのかは忘れた(笑))導入しなかったが今思えば導入すればよかった。

configに設定する
しかし、設定するのがSQLiteとなっていて少し混乱する。
そもそもSQLAlchemyはSQLをPythonのコードとして表現することができるものだそうで、だとするとSQLなどのデータベースの設定はやはり別途行う必要がありますよね。なるほどです。
SQLAlchemy をググるとは SQLalchemyはORM です DBに接続しメタデータを取得します ベースモデルを継承し、モデルを定義し、テーブルと関連づけます などと、呪文のような事が書かれていて愕然としますが、全く気にしません(笑)

init.pyも修正

モデルの定義
ここで先ほどのORMというのがでてきた。
モデルを定義しておくとモデルに対して指示をだすだけでデータベースを適切に操作してくれる、ようはデータベースを簡単に扱うことができるらしく、これら一連をORMというらしいです。
そもそも、データベースをどのように操作するかが分かってはいませんが、確かにwebサービスにアクセスしてユーザーネームや投稿された記事を保存し、それらを適切に取り出して表示する、などといったことをデータベースを操作するために別途データベースを扱う言語で記述し管理するとなると、しちめんどくさい。

flask_blog直下にmodelフォルダの作成 その中にentries.pyファイル作成
ここにモデルを定義する
タイトルはどうだとか、日付がどうたとか属性の定義
モデルに対する処理の定義
表示フォーマットの定義

データベースへの反映作業
これはモデルを定義した後一度だけ行う必要があるらしい。
コンソールで実行する場合は簡単だが、スクリプトを作成して実行するほうがいいようなのでそうする。
確かにスクリプトのほうが物凄くめんどくさい。
Flask-Scriptをインスト
flask_blog直下scriptsフォルダ作成 db.pyファイル作成
アプリケーションフォルダ直下にスクリプトファイルをコンソールで実行できるようにファイルを作成する
最後にスクリプトファイルをコマンドプロンプトから実行する。そうするとdbファイルが作成される

さて、SQLAlchemyをインストしようとするとできない (笑)
コマンドプロンプトから直接pythonを実行してインストするのではないようだ。
まず現在作業している、ようするにFlaskを使ってサイトを作っているフォルダをやはり指定してやり、そこでインストールするようだ。

データベースの反映作業をやろうとスクリプトファイルを実行しても、エラー(笑)
manage.pyファイルを完コピしたら動く。なぜ(笑)見た目はまったく変わらないのに(笑)

念のため今までのページがきちんと表示されるかやってみると今のところ動いた(逆になんにも反映していないのか(笑))




 - python