記事一覧
Djangoのcollectstaticで静的ファイルを華麗に集める
Djangoのcollectstaticで静的ファイルを集める
Djangoでは画像ファイルやCSSファイルなどのことを静的ファイルと表現します。
これらの静的ファイルは、開発時と本番時で扱いが違ってきます。
具体的には静的ファイルは、開発時にはDjangoが勝手に管理してくれますが、本番稼働時のサーバーでは静的ファイルを一か所のディレクトリに集めてWebサーバー側で管理させる必要があります。
一か所のディレクトリに静的ファイルを集めるコマンドがpython manage.py collectstatic
です。
(省略されました)
Djangoの華麗なるCreateViewの使い方
Djangoの華麗なるCreateViewの使い方
Djangoではビューを作成する場合、あらかじめDjango側が用意している汎用ビューを使うことが出来ます。
汎用ビューを使うとコードの量を減らすことが可能です。
この記事ではモデルの作成に使われる汎用ビュー、CreateViewの使い方を解説します。
このCreateView
を使うとモデルの投稿ロジックを簡単に書くことが出来ます。
具体的にCreateView
について↓を見ていきます。
(省略されました)
Djangoのフォームのバリデーションを詳しく見てみる
Djangoのフォームのバリデーションを詳しく見てみる
Djangoのフォームはいつバリデーションしているのかと言うと、is_valid()
メソッドが呼ばれたときです。
バリデーションはフォーム、それからフィールドで行われます。
それらの処理はオーバーライド(上書き)することが可能です。
また、Djangoが用意しているバリデーターを使うことで簡単にバリデーションを実装することも可能です。
この記事ではDjangoのフォームのバリデーションについて詳しく見ていきます。
(省略されました)
Djangoで循環参照しているマイグレーションを解決する
Djangoで循環参照しているモデルをマイグレートする
Djangoで開発を進めていて、ある程度の規模になったプロジェクトを、いざ本番サーバーにデプロイしてみると意外にマイグレーション周りでエラーが頻発するものです。
その中のエラーの1つが↓のエラーです。
django.db.migrations.exceptions.CircularDependencyError: bob.0001_initial, alice.0001_initial
↑のエラーはマイグレーションファイルが循環参照しているために起こるエラーです。
(省略されました)
DjangoのMetaクラスの使い方【ordering, db_table, verbose_name, etc】
DjangoのMetaクラス
PythonのWebフレームワークであるDjango(ジャンゴ)では、モデルと言う抽象化されたクラスを使ってデータベースにテーブルを定義します。
このモデルはmodels.Model
を継承させたクラスとして作成しますが、このクラス内にはMeta(メタ)という内部クラスを配置することが出来ます。
モデルのクラス内にMetaクラスを定義することでDjangoのそのモデルの取り扱い方法を変更することが可能です。
また、モデルに限らずMetaクラスはフォームなどにも設定できます。
(省略されました)