Pythonのargparseで「'required' is an invalid argument for positionals」が出たら、requiredを消せばいい
ドキュメントが少し分かりづらかったのでメモ。 起動時の引数を便利に扱えるargparseモジュール Pythonには、起動時の引数を便利に扱える argparseモジュール があります。 位置引数とオ…
ドキュメントが少し分かりづらかったのでメモ。 起動時の引数を便利に扱えるargparseモジュール Pythonには、起動時の引数を便利に扱える argparseモジュール があります。 位置引数とオ…
概要 自作クラスに対して、 unittest.mock.MagicMock を使ってモックを作成してテストする。 サンプルコード(挨拶を返すプログラムとテストコード) (テストしたいファイル。ランダム…
組み込み関数を使っているメソッドの単体テストを行う 実ファイルを使わずにテストしたい場合、ファイルopenメソッドのスタブ(モック)を作ってテストします。 unittest モジュールを使う mock…
概要 Djangoのログイン機能(ユーザ認証)の実装には、標準の django.contrib.auth がある。( 公式ページ ) django-allauth を使うと、簡単に実装できる Twit…
背景 Ubuntu 18.04 に M2Cryptoを入れてpython3から使おうとしたら、必要なパッケージが入っていなくてエラーがでた。 環境 Ubuntu 18.04.3 LTS Python …
背景 1画面に表示する件数が多かったので、ページネーションを追加する。 標準の django.core.paginator を使う 環境は、Python 3.7.0 + Django 2.1.3 既存…
前回の記事「 カスタム django-admin コマンドを実装して、外部からアプリ内のモデルを使う 」の続きです。 背景 前回は、カスタムコマンドとして、「crawler」を追加し、 $ pytho…
背景 Pythonでboto3ライブラリを使ってAWSのS3に画像をアップロードする際に、セキュリティの設定でデフォルトは読み書き不可にしている場合に、アップロードしたファイルだけ公開したい場合があり…
背景 cronを使ったバッチ処理などで、アプリ内のモデルを使ってDBを読み書きしたい場合があります。 しかし、コマンド用の.pyファイルを上位ディレクトリに置いて、アプリ内のモデルをimportして使…
背景 Djangoでプロジェクト内に複数のアプリがある場合に、サイト全体でスタイルを統一したい。 環境 Python 3.7.0 (3.7.1が出ていて、3.7.2も近々リリースされるので、入れ替え予…