Imagepythonの時間~viewの復讐2019/07/21pythonテレビは選挙一色だが、さすが俺たちのEテレは違う。いや復習だった(笑)改めてview。Imagepythonのお勉強~コマンドがない?データベースがおかしい?2019/07/19.2019/07/20python前回、一旦戻ってやり直し始めたものの、コマンドで作成するというテーブルができない。テーブルができないというよりコマンド自体がnoneとなる。Imagepythonのお勉強~CRUDとは2019/07/15python前回pythonをやってから既に5日ほどたっている。いつになったらこの本を終える事ができるのか。それほど厚い本ではないのにまだ半分ほどしか進んでいない。Imagepythonのお時間~データベースの設定及びその操作としてのモデル2019/07/10python記事の投稿や閲覧をするには、当該データを保存しておく必要がある。いうことはデータベースが必要となる。2019/07/21pythonテレビは選挙一色だが、さすが俺たちのEテレは違う。いや復習だった(笑)改めてview。ある特定のURLにアクセスしたときにどのようなページ内容を表示するのか?一連の処理内容を書いておく。フォームに入力されたデータの処理や保存などの処理内容も書いておく。記事の編集を行う処理を追加したい場合。編集ボタンを該当HTMLに追加する。編集ボタンをクリックしたら編集画面を返す処理をviewに追加する。編集内容を受け取ってデータベースを更新する処理をviewに追加する。2019/07/20python前回、一旦戻ってやり直し始めたものの、コマンドで作成するというテーブルができない。テーブルができないというよりコマンド自体がnoneとなる。何度かやっていると今度はサイト自体が動かなくなる。今回はほとんど触らず、コードをコピペしただけなので何がおかしいのか見当もつかないので、サンプルコードをそのまま移植することにした(笑)見た目は同じなのになぜ動く(笑)が、やはりテーブルを作成するというコマンドがおかしい。runを外すとうまくいったようだ。思ったもの束の間、挙動がおかしい。2019/07/15python前回pythonをやってから既に5日ほどたっている。いつになったらこの本を終える事ができるのか。それほど厚い本ではないのにまだ半分ほどしか進んでいない。データの削除これらの考え方は様々なものに応用できるようだ記事に関連するビューとログイン関連のビューに分割モデルごとにビューを用意して分かりやすくするviewsフォルダを作成し、その中にentries.pyを新規作成。元々のviews.pyをviewsフォルダに移動させる。initの方もviewの読み込みを修正する念のためコマンドプロンプトから起動してみると、動かない(笑)インポートエラー、アンノウンロケーションとなっている。読んでいなかったらしい。空のinitをviewsフォルダに作成する必要があった。db.session.add(モデル名)で新しい内容が追加され、db.session.commit()でデータベースに書き込まれるここまで本の通りにやるものの動かない(笑)コマンドプロンプト上ではpythonでアプリケーションを起動させると動くがページが表示されない。そのようなデータベースはありませんとあるので、データベースの設定などが間違っているのだろう。これは一旦前に戻ってやり直したほうがよさそうだ。レイアウトページにリンクを追加したところまで戻るととりあえず正常に表示動作するようになる。2019/07/10python記事の投稿や閲覧をするには、当該データを保存しておく必要がある。いうことはデータベースが必要となる。Flaskではデータベースを扱うSQLAlchemyというライブラリがあるそうです。そもそもデータベースと言っても様々なものがあって、それぞれ特徴があり、向き不向きなどもあるようで初心者だとそれこそわけわかめです。SQLAlchemyをインストということでSQLAlchemyをインストする必要がある。ここで注意が必要だったのはpipenvでインストすると本では説明されているが、仮想環境envは導入していないのだった。仮想環境だとプロジェクト毎に管理できるからとあったのだが、めんどくさそうなので(何がめんどくさかったのかは忘れた(笑))導入しなかったが今思えば導入すればよかった。configに設定するしかし、設定するのがSQLiteとなっていて少し混乱する。そもそもSQLAlchemyはSQLをPythonのコードとして表現することができるものだそうで、だとするとSQLなどのデータベースの設定はやはり別途行う必要がありますよね。呪文のような事が書かれていて愕然としますが、全く気にしません(笑)init.pyも修正モデルの定義ここで先ほどのORMというのがでてきた。モデルを定義しておくとモデルに対して指示をだすだけでデータベースを適切に操作してくれる、ようはデータベースを簡単に扱うことができるらしく、これら一連をORMというらしいです。そもそも、データベースをどのように操作するかが分かってはいませんが、確かにwebサービスにアクセスしてユーザーネームや投稿された記事を保存し、それらを適切に取り出して表示する、などといったことをデータベースを操作するために別途データベースを扱う言語で記述し管理するとなると、しちめんどくさい。表示フォーマットの定義データベースへの反映作業これはモデルを定義した後一度だけ行う必要があるらしい。コンソールで実行する場合は簡単だが、スクリプトを作成して実行するほうがいいようなのでそうする。確かにスクリプトのほうが物凄くめんどくさい。db.pyファイル作成アプリケーションフォルダ直下にスクリプトファイルをコンソールで実行できるようにファイルを作成する最後にスクリプトファイルをコマンドプロンプトから実行する。(笑)コマンドプロンプトから直接pythonを実行してインストするのではないようだ。現在作業している、ようするにFlaskを使ってサイトを作っているフォルダをやはり指定してやり、そこでインストールするようだ。データベースの反映作業をやろうとスクリプトファイルを実行しても、エラー(笑)manage.pyファイルを完コピしたら動く。テキストや画像等すべての転載転用販売を固く禁じますHOMETOPMENU。