Flaskアプリ作成で詰まった部分
htmlで配列を表示させるところで詰まった。
このページが分かりやすかった。
【Flask】Jinja2の制御構文(if, for in)でクライアントサイドを柔軟に簡素化する | たぬハック (tanuhack.com)
Flaskアプリ作成で詰まった部分
htmlで配列を表示させるところで詰まった。
このページが分かりやすかった。
【Flask】Jinja2の制御構文(if, for in)でクライアントサイドを柔軟に簡素化する | たぬハック (tanuhack.com)
備忘
Flaskで、DBに入っている日付項目を更新する画面を作ろうとしてたが、以下のエラーが出てハマった。
AttributeError: 'str' object has no attribute 'strftime'
■原因
DB項目はString型にしてるのに、入力のクラスはDataFieldクラスにしてたからだと思われる。
DB項目をStringのままにして、何とかstrftime関数で表示を変更して頑張ろうとしたが、どうにもうまくいかなかった。。。
String型にしてたのも特に深い理由はなかったので、DBのテーブル項目をDate型に直した結果、無事に表示されるようになった。
横着しないようにします。
Flaskの勉強のために、本に書いてある通りに実行すると、url_encodeがimportできないと出てきた。
上記のエラーでググると英語のサイトにたどり着く。
flask-wtfのバージョンが古いとそんなことが起こるよ~
1.X.Xのバージョンなら修正済みだぜ!!
って出てくる。
しかし、自分の環境のFlask-WTFバージョンは 1.1.1 問題ないはずなのに(泣
で、似たようなエラーで解決したって記事を見たのでダメもとで挑戦したらできた。
Werkzeugのバージョンを変更
Werkzeug==3.0.1
↓
Werkzeug==2.3.7
そうするとエラーが出なくなった。
参考にさせていただいた記事
Flaskでurl_quoteが見つからなくなった問題 #Python - Qiita
WerkzeugというライブラリのアップデートとFlaskライブラリの相互関係が崩れたみたいですね。
どこかをアップデートすると、だれか追いついていけない部分が出てくるというのは、マイクロサービスのデメリットと通ずるものを感じます。
これもエンジニアの宿命か。
前職でJENNIFERというAPM(Application Performance Monitoring)ツール使ってたんですが、これがとてもGoodでしたので、昔話を。
【ツール8選】APMツールとは?基本解説やおすすめツールをご紹介! | QEEE
昔、開発業務の傍ら自分が導入したパッケージソフトの保守をやってました。
で、ちょいちょいお客さんから「エラーが出たからなんとかしてくれ」って電話があるんですよね。
一言でエラーって言われても分からんわけですよ。
(お客さんもIT屋じゃないんで、そりゃ分かるんですけどね。)
そんで、お客さんから発生した画面や時間帯を事細かに聞き取りして、ログを解析するって流れです。
ただログのテキストも大量に出てる&お客さんも事象発生時の記憶が曖昧なこともあって、事象発生時の状況をトレースするのと原因調査が結構難航するってのが日常でした。
そこで当時の会社の方針でJENNIFERってのを入れました。
すると、今までテキストのログをGrepしながらエラー探してたのが、GUIで探せるようになったり、怪しげなSQLも簡単に探せるようになったりで、保守業務の効率がグッと上がったってことがありました。
あと、保守だけじゃなくシステムテストとか開発中の案件のサーバも監視しておくと、エラー検知とか遅い処理をすぐに見つけることが出来るという付加価値も生まれてました。
APMツールに限らず保守や開発の生産性を向上させるツールがたくさん出てきている現在ですから効率的に仕事したいですね。
今の会社でAPMツールの導入を提案中で、ふと昔を思い出したのでした。