Django
Django REST framework (DRF) において、DecimalFieldから末尾のゼロを除去する方法です。具体的には以下のように挙動を変更します。 # 現在 Decimal('0.001000000') >> "0.001000000" # 期待する結果 Decimal('0.001000000') >> "0.001" この機能は以下のPR…
Djangoのマイグレーション時にPermissionにアクセスする方法をまとめます。 実行環境 Django 3.2 マイグレーションファイルの作成 空のマイグレーションファイルを作成します。 python manage.py makemigrations --empty yourappname from django.db import …
django.db.models.Field.validatorsの関数に引数を与えられるようにします。 例えば以下のようなバリデータにおいて、ハードコードされた数値 100 をモデルフィールド単位に指定できるようにします。 def equal_to_100(value): if value != 100: raise Valid…
DjangoベースのCMSであるWagtailを使い始めましたが、日本語対応がまだまだな印象なので翻訳していきます。 翻訳はWebベースのTransifexが使われているので簡単です。Djangoと同じですね。 docs.wagtail.io You can find a list of currently available tran…
Djangoでモデルオブジェクトの登録・更新機能は、汎用ビューであるCreateViewやUpdateViewで簡単に実装することができます。 しかし扱うモデルフィールドが多い場合、これらのビューは1つの画面に多数のフォームを描画するために使用性が低くなりがちです。 …
デコレータを使用し、DjangoのViewでGETやPOSTリクエストの処理前後に任意の処理を差し込む方法をまとめます。 やりたいこと デコレータの作成 Viewの実装 利用例 事前処理でビューへのアクセス権限を判定 事後処理でレスポンスを更新 まとめ やりたいこと …
はじめに パーミッションの作成 ユーザの作成 グループの作成 はじめに DjangoのFixtureでdjango.contrib.authのUserやGroupにPermissionを設定する方法を確認しました。 パーミッションの作成 まずは適当なパーミッション をModel.Meta.permissionsで作成し…
はじめに Excelのセルを入力するスクリプト Djangoのビューで編集したExcelファイルをダウンロード はじめに openpyxlを使ってPythonでExcelファイルを編集します。 $ pip install openpyxl Excelのセルを入力するスクリプト 以下のスクリプトでは次の単純な…
はじめに Ansibleのインストール ディレクトリ構成 作成したプレイブック 共通設定 変数 環境変数 タスク aptパッケージのアップデート、アップグレード タイムゾーンの設定 ユーザの追加 SSH接続の設定 Minicondaのインストール Djangoプロジェクトのアップ…
はじめに 前提 ビューの実装 テンプレートの実装 実行例 さいごに はじめに DjangoでDockerコンテナのログをテキストエリアに出力する方法をまとめます。 前提 Dockerコンテナの操作には docker-py を使います。 github.com django==3.0.8 docker==4.2.0 ビ…
はじめに 前提 サンプルアプリの実装 アプリの作成 モデル ビューとURL モデルフォーム フィルタ テンプレート ベーステンプレート 登録/更新画面のテンプレート 登録画面の動作確認 更新画面の動作確認 検索画面のテンプレート 検索画面の動作確認 カレンダ…
はじめに プロジェクトの作成 settings.pyの設定内容 機密情報をJSONファイルで管理 1. 機密情報を管理するJSONファイル secrets.json の生成スクリプトを用意 2. settings.py で secrets.json の設定値を参照するように変更 3. 実行環境ごとに 1. のスクリ…
はじめに 問題 原因 対策 まとめ はじめに Django(2.1.7)で集計処理( values().annotate() )が Meta.ordering を追加した途端に誤った結果を返すようになりました。 問題 例として以下の Foo モデルを用意します。 ここで created_at フィールドを Meta.…
はじめに DataTablesの設置 ajax オプション columns オプション deferRender オプション Ajax通信 クライアントサイド サーバサイド Ajaxリロード時のプログレス表示 エラー処理 (2020/07/26追記) ヘッダ・ボディ間のスペース除去 はじめに DataTables 1.10…