[Django]管理サイトで外部キーのフォームフィールドを制御する(ソート)
本記事ではDjangoで外部キーを設定したモデルを管理サイトから操作する際のちょっとしたTipsを紹介します。つまり外部キーのフォームフィールドリストをカスタマイズする方法になります。 例えば、以下のように外部キーを設定したモデルがあるとします。外部キーを設定した赤字部分が今回の主役になります。 f […]
本記事ではDjangoで外部キーを設定したモデルを管理サイトから操作する際のちょっとしたTipsを紹介します。つまり外部キーのフォームフィールドリストをカスタマイズする方法になります。 例えば、以下のように外部キーを設定したモデルがあるとします。外部キーを設定した赤字部分が今回の主役になります。 f […]
Django 3.0が予定通りに2019年12月2日にリリースされました。詳しい変更内容は3.0のリリースノートをご参照ください。 3.0はDjangoの既存アーキテクチャに大きく手を入れたというより、近年台頭してきているMariaDB(MySQLから派生した関係データベース)やASGI(WSGIの […]
Djangoでモデルデータの一覧を取得するだけのWeb APIを今回作ってみます。 Djangoには「Django REST framework」という便利なモジュールが公開されておりサクッとでAPIを作る事が可能です。 モデル定義 名前と属するグループを管理する事を想定したMeiboモデルを定義し […]
DjangoのテストでSeleniumを使いたい場合、LiveServerTestCaseというクラスを継承すれば簡単に実装できます。 今回はログインが正常に出来るかを検証するテストを例にこのやり方を記載したいと思います。 なお今回利用するブラウザはChromeとなりますが、ドライバを変えれば他のブ […]
Djangoのクラスベースビューでは親クラスのメソッドをオーバーライドして独自の処理を追加します。 その際どのクラスベースビューによくオーバーライドするメソッドがあるかがまとまっていると便利かと思い一覧にしてまとめてみました。自分用の覚書という側面が強いので網羅性はありませんが少しでも参考になれば幸 […]
Djangoのクラスベース汎用ビューで正常な場合のページ遷移先の指定方法として2種類あります。一つはクラス変数のsuccess_urlを使う方法です。もう一つはメソッドのget_success_url()を使う方法です。 この2つの使い分けはどうしたらよいのでしょうか。 さらに、URLの逆引きに使う […]
Djangoに限りませんがPythonのWebアプリケーションサーバーでMatplotlibを使おうとすると以下のようなメッセージを吐き出し最悪サーバーがダウンしてしまうことがあります。 Assertion failed: (NSViewIsCurrentlyBuildingLayerTreeFor […]
Django2.1へのバージョンアップでは認証部分の書き方で注意が必要です。 Django1.11から以下のようなcontrib.auth.views.login()関数ビューを使う書き方は非推奨になっていましたが(login以外の認証機能も同様)、2.1からはこの関数ビューは削除されて使えなくなっ […]
HTTPプロトコルにおいてURLでパラメータを受け渡してページ間で利用する場合、セッション機能を利用するのが最もポピュラーな方法ではないでしょうか。 Djangoではデフォルトでセッション機能が含まれていて簡単に扱えます。今回はURLからパラメータを取得しセッションに保存してから、別ページでそのパラ […]
Djangoのパーミッション機能は、ユーザー毎に権限制御する際に役立ちます。 パーミッションをユーザーに付与する方法ですが管理画面から行うやり方はよく見かけます。しかしプログラム上でユーザーにパーミッションを与えたい場合もあるかと思いますので、今回はそのやり方を記しておこうと思います。 イタリック体 […]