Hirologue

年齢を理由にエンジニアになることを諦めないミドルの成長記録

Django

EP 40: コンピュータが嘘を付く。いや付いていない

はじめに Djangoを使ってXクローン作成している中で見逃していた、とんでもないバグ を発見しました。 そのバグとは、「いいね」の数が実際と異なり、常に1で表示されるというものでした。 おいおい、嘘つくなよ。なんでだよ。と混乱する中、冷静に検証した…

EP 39: すごいぞ!Prefetchオブジェクト!

はじめに X(Twitter)クローンを作成していて、ツイートの詳細ページを実装したときのお話です。 本家と同様に、該当するツイートと、それに紐づいたコメント一覧を表示する機能を作り、ページの表示は問題なくできました。 ところが、django-debug-toolbar…

EP 38: widgetにmaxlengthが効かないだと?

はじめに Xクローンを作成して、プロフィール編集機能を実装していたときのことです。 プロフィール編集フォームを作成して、各入力項目に最大文字数を設定していたはずなのに、制限以上の文字入力ができてしまう現象が発生しました。 もちろん、バリデーシ…

EP 37: え?Mixinって自作できるの?

はじめに 現在、Djangoを使ってX(Twitter)クローンを作成しています。 今回は、ユーザープロフィールページとプロフィール編集ページの実装を行ったときの学びについてです。 いずれのページでもURLに含まれるusernameから Userオブジェクトを取得する必要…

EP 33: テンプレートを使って楽をする

はじめに つい先日までDjangoを使ってECサイトの作成に取り組んでいました。 その際、注文確認メールを送る機能を実装することになり、テンプレートとなるテキストファイルを作成し、Python標準ライブラリのstr.Templateを使ってメール本文を作成していまし…

EP 28: Herokuものがたり 〜 Cloudinary編

前回までのあらすじ Djangoで作成したアプリをHerokuにデプロイするための準備を行い、静的ファイル処理(whitenoise)とデータベース(PostgreSQL)を取り扱うための設定をしました。 EP 24: Herokuものがたり 〜 準備編 - Hirologue EP 25: Herokuものがた…

EP 27: Herokuものがたり 〜 PostgreSQL編

前回までのあらすじ Djangoで作成したアプリをHerokuにデプロイするための準備を行い、whitenoiseを使って静的ファイルの処理を行えるようにしました。 EP 24: Herokuものがたり 〜 準備編 - Hirologue EP 25: Herokuものがたり 〜 settings.py分割編 - Hiro…

EP 26: Herokuものがたり 〜 静的ファイル設定編

前回までのあらすじ Djangoで作成したアプリをHerokuにデプロイするための基本的な設定を行い、実行環境によって読み込むファイルを切り替える設定を行いました。 EP 24: Herokuものがたり 〜 準備編 - Hirologue EP 25: Herokuものがたり 〜 settings.py分…

EP 25: Herokuものがたり 〜 settings.py分割編

前回までのあらすじ Djangoで作成したアプリをHerokuにデプロイするための基本的な設定を行いました。 hirologue.hateblo.jp 前回までのあらすじ 環境で設定を使い分ける ディレクトリ構成 base.pyのBASE_DIRを修正 local.pyにローカル環境用の設定を書き込…

EP 24: Herokuものがたり 〜 準備編

はじめに Djangoを使ってWebアプリを作ったなら、公開しない手はないです。 公開する方法として、Herokuが広く知られています。 Herokuを使ってアプリを公開(デプロイ)するためのチュートリアルも用意されているので、基本的なことは理解できました。 しか…

EP 22: Djangoのクセがスゴイ

はじめに 前回の記事でDjango公式チュートリアル(以下、チュートリアル)を始めるための準備として、Dockerを使って環境構築を行いました。 hirologue.hateblo.jp チュートリアルでは、Djangoのバージョンを選択することができます。 今回使用するバージョ…

EP 21: あ、Djangoチュートリアル その前に

はじめに 開発環境をどうするか Dockerファイルを作る docker-compose.ymlファイルを作る 環境変数を設定する プロジェクトの作成 settigns.pyに追加の設定を記述 その1 SECRET_KEYの再生成 settigns.pyに追加の設定を記述 その2 hello django! はじめに P…