Python
Djangoで、複数のユーザ種別を作れるシステムが欲しい
「サプライユーザ」「バイヤーユーザ」の2種類のユーザを作れるようにする
ユーザ種別ごとに、異なる属性を持たせる
サプライユーザは会社名、バイヤーユーザは最寄り駅を登録できるようにする
Django-allauthでテンプレートを上書きするには、account/login.htmlのように、account配下にテンプレートを作成します。
プロジェクトフォルダ内で管理できるので、venv/lib/python3.6/site-packages/allauth/account/templatesにあるファイルを書き換えずにすみ、Gitなどでバージョン管理する際に楽です。
python3 manage.py runserver
などで開発用サーバを起動しようとしたら、以下のメッセージが出て起動しませんでした。
- pythonでEXCELを読み書きできる
openpyxl
ライブラリがある
-
iter_rows
メソッドでEXCELを1行ずつ読み出せる(DBのカーソルに似ている)
-
ws.append()
で行を追加した後で、先頭からもう一度処理しようとすると、イテレータが末尾に移動したままで、先頭に戻らない
- 自作クラスに対して、
unittest.mock.MagicMock
を使ってモックを作成してテストする。
実ファイルを使わずにテストしたい場合、ファイルopenメソッドのスタブ(モック)を作ってテストします。
Djangoのログイン機能(ユーザ認証)の実装には、標準のdjango.contrib.authがある。(公式ページ)
django-allauthを使うと、簡単に実装できる
TwitterアカウントやGitHubアカウントなどでもログインできる。公式ページ、ドキュメントを参照。個別に設定が必要なので、今回は割愛。
今回は、メルアドとパスワードでの認証にする
- 1画面に表示する件数が多かったので、ページネーションを追加する。
- 標準の
django.core.paginator
を使う
- 環境は、Python 3.7.0 + Django 2.1.3