Django-モデルのプライマリキーをUUIDにする

Djangoではデータベースに挿入されたレコードのidが連番になるのですが、特別な理由がない場合はセキュリティ的に有利なUUIDを使うのが良いそうです。という訳でidをuuidに変更する方法をメモします。

DjangoシェルとPythonを使って複数のレコードをデータベースに一括挿入する

ページネーションなどのフロントサイドのパーツが正常に動いているか目視で確認したいなぁと思い、ダミーのレコードをデータベースに流し込むことにしました。一つずつ挿入するのは大変なので、スクリプトを作って100個ほどスパーンと一気に流し込みます。

DjangoでGoogleアカウントのアバターを扱えるようにした

以前python-social-authというライブラリを使ってGoogleアカウントでOAuth認証ができるようになりましたが、アバター画像も引っ張ってこようと思い、実装方法を調べたのでまとめます。

Djangoのカスタムユーザーモデルでサインアップできるようにする

Django既存のUserモデルを拡張したカスタムユーザーモデルと、リレーションを貼ったProfileモデルを用意してサインアップ機能を実装しました。これでDjangoの認証周りの設定は自由にできるようになったと思いますが、確実に忘れるのでメモを残します。

Djangoのフォームデザインを簡単かつ自由にカスタマイズする方法

Djangoにはフォーム関連のフレームワークが強力でバリデーションをいい感じに行ってくれるのですが、デザイン面の調整が難しくて苦戦中です。Bootstrap4やFoundationなどのCSSフレームワーク対応のライブラリなどいくつか試した結果、`django-widget-tweaks`というのが最も自由度が高く、HTMLライクに記述できて分かりやすかったため、情報をまとめます。

DjangoのUserモデルを拡張する方法

Djangoにはデフォルトで次のようなUserモデル(テーブル)と、そのモデルに合わせた認証システムが組み込まれていますが、アプリケーションによってはユーザーに紐づく情報を足したり、細かい調整をしたい時があると思います。そのようなUserモデルの拡張方法についてメモします。

Django shellというrails console的な機能でDB操作を行う

Djangoに`rails console`的な機能ってないのかな?と思い調べたところ、__Django shell__という機能がありましたのでメモします。

Djangoで秘密鍵やAPIキーなど”隠したい情報”を分けて管理する

Djangoではsettings.pyに秘密鍵、APIキーやデータベースのパスワード情報など記入します。GitHubなどでソースコードを公開したい場合、こういった機密情報はGitの外側に隠しておきたいですよね。情報漏洩しないよう、対策してみました。

DjangoでGoogleのOAuth2 ログイン認証とログアウトの設定方法

GoogleやFacebook、GitHubアカウントでのログイン機能は便利ですからね。DjangアプリでOAuth2ログイン認証を取り入れたく、実装方法を調べました。かなり手こずったので、忘れないようにメモします。

DjangoとPostgreSQLデータベースを連携させるための初期設定

Djangoのフロント側は自由にいじれるようになったので、次はデータベース周りを扱えるようにします!