Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

Flask

FlaskのBluePrintで404を指定することは出来ない

Flaskの仕様で、404のエラーハンドラーを blueprint 毎に定義することが出来ず、ちょっとハマった。 以下の公式にあるように、Flaskのアプリケーションそのものが、404になるURLがリクエストされた時にどのblueprintのエラーハンドラーを呼び出していいかわ…

WTFormsで GETで飛んできたパラメータを捕捉する

ちょっとハマった。結論から言うとこれで動いた。 @app.route("aaa") def user_summary(): form = UserForm(request.args) request.argsを引数に入れると、フィールドの変数と同じ名前のパラメータのデータを紐付けてくれる。 この引数が入っていないと、フ…

Flask with Vue.js

やっと話が見てきた。qiita.comJavascript弱者だったため、Vue.js や Vue-cli 並びにJavascriptの開発環境とか、色んなことがつながるまで少し時間がかかった。 Vue.js のコンポーネント化にはCLIが必要 拡張子がvueのファイルにHTML/CSS/Javascriptをまとめ…

IntegerFieldで「0」が入力エラーになる場合

validatorにDataRequiredを使っているせいです。InputRequiredに変更しましょう。

WTFormsのSelectFieldで選択値(selected)を保持する方法

WTFormsはこの辺がイケてないのぅ。SelectFieldで選択した値を元に検索をかけると、Ajaxでもなければ初期値の値に戻ってしまう。SelectFieldにはdefaultというプロパティがあるが、これはコンストラクタでしか有効にならない。 #これだと選択値が入る select…

Flaskでフォームの配列のパラメータを取得して縦横に変換する

注文明細の数量を変更するような画面を作ってまして、こういうデータ構造でした。 ID 商品名 注文数 2 AAAA 3 3 BBBB 5 4 CCCC 6 5 DDDD 7 IDと商品名と注文数は配列で渡すので、こういうHTMLでマークアップします。 <input type="hidden" name="id[]" value="{{ od.id }}"> <input type="text" name="ordernum[]" value="{{ od.ordernum }}"> で、各々別の配列に入っている値ですが…

FlaskでCSSのキャッシュを効かせなくする方法

CSSを取得する際はHTTPのGETで取りに行きますので、URLが同じだとブラウザがキャッシュします。HTMLにアクセスしてブラウザがキャッシュするのと同じ。ただ、CSSのように変更を即座に通知して欲しい場合にはこのキャッシュが邪魔になることがあります。キャ…

CentOS6.5でPython3.4+Nginx+uWSGIでバーチャルホスト運用

とりあえずなんとか動きましたって感じで... 以下Vagrant上での作業です。細かい所はあとで。 Python3.4を入れる $ sudo rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-11.ius.centos6.noarch.rpm $ sudo yum instal…

FlaskでPaginationを実現する方法(Flask-SQLAlchemyを使用)

いやー、Flaskはドキュメントが断片的だ。マイクロフレームワークだとドキュメントもマイクロなんでしょうか。順番に追っていきます。 View部分のコードはこんな感じです。 from flask.ext.sqlalchemy import Pagination @app.route('/user', defaults={'pag…

Flask+Beakerで保存先をmysqlにする

python - Storing session data in database in Pyramid using beaker - Stack Overflowを参考に。あまりにあっさりしているので逆に不安だ... いや、こんなもんのはずだ。app.run()を実行する手前で、WSGIアプリケーションのインスタンスと設定情報を、Beak…

generate_password_hashが毎回違う結果を返すのにパスワードとして使える理由

改めて読むと勉強になる。確かにここは気になる。Flask - generate_password_hash not constant output python - Flask - generate_password_hash not constant output - Stack OverflowFlaskでは色んなスニペットが登録されており、パスワードのハッシュに…