TECH I.S.

Django 静的ファイル追加


静的フォルダの作成

Webアプリケーションを構築するとき、画像やcssファイルなどの静的ファイルを追加したいと思うでしょう。

まず、フォルダを作成した場所staticと同じ場所に、プロジェクト内に次の名前のtemplatesフォルダを作成します。

フォルダの名前はstaticである必要があります。

my_tennis_club     manage.py     my_tennis_club/     members/         templates/         static/

CSSファイルをstaticフォルダに追加します。名前は任意ですがこの例ではmyfirst.cssとします。

my_tennis_club     manage.py     my_tennis_club/     members/         templates/         static/             myfirst.css

CSSファイルを開き、以下を挿入します。

my_tennis_club/members/static/myfirst.css:
body { background-color: lightblue; font-family: verdana; }

テンプレートを変更する

これで、CSSスタイリングを含むCSSファイルができました。次のステップでは、このファイルをHTMLテンプレートに含めます。

HTMLファイルを開き、次のようにを追加します。

{% load static %}

And:

<link rel="stylesheet" href="{% static 'myfirst.css' %}">

my_tennis_club/members/templates/template.html:
{% load static %} <!DOCTYPE html> <html> <link rel="stylesheet" href="{% static 'myfirst.css' %}"> <body> {% for x in fruits %} <h1>{{ x }}</h1> {% endfor %} </body> </html>

実行例(開発準備中) »

変更を有効にするためにサーバーを再起動します。

py manage.py runserver

そして、自分のブラウザ127.0.0.1:8000/testing/で結果をチェックしてください。

正常に動作しない場合は

テストだけですか?デプロイをする予定がない場合は、settings.pyファイルでDEBUG = Trueに設定すれば、上の例は動作します。

デプロイする予定ですか?もしデプロイするつもりなら、settings.pyファイルでDEBUG = Falseと設定してください。Django には静的ファイルを提供するための組み込みのソリューションがないので、上の例は失敗しますが静的ファイルを提供する方法は他にもあります。

例 (開発中):

my_tennis_club/my_tennis_club/settings.py:
. . # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True . .

これでサンプルは動作しますが、Djangoの使い方を学ぶにはDEBUG = Falseを選択するのが最善の方法であるため、DEBUG = Falseを選択してください。


DEBUG = Falseに選択

DEBUG = Falseこのチュートリアルの残りの部分では、開発中でも使用して実行します。これがDjangoの操作方法を学ぶ最良の方法だからです。

例:

my_tennis_club/my_tennis_club/settings.py:
. . # SECURITY WARNING: don't run with debug turned on in production! DEBUG = False ALLOWED_HOSTS = ['*'] . .

ALLOWED_HOSTS

使用時DEBUG = Falseあなたが作成したアプリを表示するためにホスト名を指定する必要があります。'127.0.0.1'また'localhost'どちらかを記入してください、これはどちらもローカルマシンのアドレスを表します。


ここでは'*'を選択します。これはどのアドレスでもこのサイトをホストできることを意味します。ただしプロジェクトをパブリックサーバーにデプロイするときに、これを実際のドメイン名に変更する必要があります。


動作しないですか?

そうですこの例だけではまだ機能しません。

静的ファイルを処理するには、サードパーティライブラリをインストールする必要があります。

それには多くの代替手段があります。次の章WhiteNoiseと呼ばれるPythonライブラリの使用方法を説明します。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細