Django

django-allauthで、既存のプレースホルダーやラベルを変更する

  • django-allauthで、自作のテンプレートを作る際に既存のlabelやplaceholderが英語なので日本語に書き換えたい
  • テンプレートでフィールドを出力する際は、直書きせずにfor文で回して取得している場合を想定
tender6admin
18 sec read

Djangoで指定したfieldだけ表示する(クラスベース汎用ビューのDetailViewを使う)

  • Djangoのテンプレートで、あらかじめ指定したフィールドだけ表示したい
    • Userモデルで、is_activeなど不要なフィールドは見せたくない
    • django.views.generic.DetailView で表示する想定
  • フィールドを後から増減させたときに、なるべく一箇所だけの変更で済ませたい
tender6admin
51 sec read

Djangoでhidden属性でテンプレート出力する

  • Djangoのテンプレートで、hiddenのフィールドは項目名も表示しないようにしたい
  • 入力欄をas_hiddenで出力すると、項目名は出てしまう。
    • テンプレートでフィールドを出力する際、直書きせずにfor文で回して取得している場合を想定
  • is_hiddenメソッドを使って判定する
tender6admin
15 sec read

DjangoでMixinを使って、自分のプロフィールのみ編集できるようにする

  • プロフィール編集画面のViewを作成する際に、自分のプロフィールのみアクセス可能とするMixinクラスベース汎用ビュー を継承したクラスを作成する
tender6admin
35 sec read

django-allauthで、CustomUserを使って複数種類のユーザを管理する(multi type user)

Djangoで、複数のユーザ種別を作れるシステムが欲しい 「サプライユーザ」「バイヤーユーザ」の2種類のユーザを作れるようにする ユーザ種別ごとに、異なる属性を持たせる サプライユーザは会社名、バイヤーユーザは最寄り駅を登録できるようにする
tender6admin
2 min read

Django-allauthでテンプレートを上書きするには、account配下にテンプレートを作成する

Django-allauthでテンプレートを上書きするには、account/login.htmlのように、account配下にテンプレートを作成します。 プロジェクトフォルダ内で管理できるので、venv/lib/python3.6/site-packages/allauth/account/templatesにあるファイルを書き換えずにすみ、Gitなどでバージョン管理する際に楽です。
tender6admin
19 sec read

djangoでrunserverで開発用サーバを起動しようとしたら、「raise ImproperlyConfigured」が出て起動しない場合の確認と対応

  • python3 manage.py runserverなどで開発用サーバを起動しようとしたら、以下のメッセージが出て起動しませんでした。
tender6admin
1 min read

django-allauthでログイン機能(ユーザ認証機能)を実装する

Djangoのログイン機能(ユーザ認証)の実装には、標準のdjango.contrib.authがある。(公式ページ) django-allauthを使うと、簡単に実装できる TwitterアカウントやGitHubアカウントなどでもログインできる。公式ページ、ドキュメントを参照。個別に設定が必要なので、今回は割愛。 今回は、メルアドとパスワードでの認証にする
tender6admin
55 sec read

Djangoでページネーションを使う(django.core.paginator)

  • 1画面に表示する件数が多かったので、ページネーションを追加する。
  • 標準のdjango.core.paginatorを使う
  • 環境は、Python 3.7.0 + Django 2.1.3
tender6admin
1 min read