DjangoでCSSを適用させようとしたらSystemCheckErrorがでた[python3]

この記事は約2分で読めます。

DjangoBrothersを参考に写真投稿サイトを作ろうとしていて、cssを適用しようとしている時のこと。

アプリケーションファイルの中ではなく、プロジェクトディレクトリ直下にstaticファイルを置いたためにミスが起きた。

やろうとしていたことは以下の通り。(DjangoBrothersより引用)

CSSを適用します。今回もCSSファイルは用意しましたので、以下ファイルを使ってください。ただし、今回はフォルダ階層を少し変えてみたいと思います。

2つ目のチュートリアルでは、memo/app/static/app/css/style.cssのように、アプリ内にstaticディレクトリを作成しました。

今回は、PhotoService/static/css/style.cssのように、プロジェクトディレクトリ直下にstaticディレクトリを作ります。1つのアプリだけではなく、複数のアプリに適用させたいCSSファイルについては、アプリディレクトリ内に作るのではなく、今回のような階層にするのが望ましいです。

ただし、デフォルトの状態では、アプリ内にあるstaticディレクトリしか読み込まれないようになっています。(アプリ内のstaticディレクトリが読み込まれるのは、settings.pyに以下の記述があるからです。)

cssのファイルをプロジェクトのどこに置くかによって必要な設定が変わってくるらしい。

そのため、プロジェクトディレクトリ内にあるsetting.pyでの設定を行った後、

runserverを起動したらこのようなエラーが起きた。

最後の行をみると、ヒントと書いているがもはやこれが答えで、

「あんた、たぶんコンマ忘れてますよ。」とのことだった。

プロジェクトディレクトリのsettings.pyの中身

赤字で書かれている「,」が抜けていたため、付け加えることでrunserverが実行された。

そして出来上がったのがこちらのトップページ。

まだまだ始めたばかりなのでこれからどんどん進めていきたい。

写真投稿サイトのトップページ

参考

いつものことながらサイトが見やすく、解説もわかりやすいので本当に勉強になる。

Djangoの勉強をするなら公式のドキュメントやチュートリアルも存在するが、

個人的にはこちらの方がわかりやすい。

DjangoBrothers

コメント