Django Academy · レッスン

urlタグとstaticタグ

パスをハードコードせずにルートとアセットをリンクします

レッスン 4/413 ステップ

「urlタグとstaticタグ」はCoddyKit上の無料Django Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDjango Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Django Academyコースには全4レッスンが含まれています。

パスをハードコードしない

URLやファイルパスを手入力すると、変更された瞬間に壊れます。Djangoには、安全にパスを組み立てるurlタグとstaticタグがあります。🔗

urlタグでルートを組み立てる

urlタグは、ルート名を実際のパスに変換します。後でURLパターンの名前を変更しても、すべてのリンクが自動的に更新されます。

<a href="{% url 'home' %}">Home</a>

まずルートに名前を付ける

urlを機能させるには、urls.pyで各パターンに名前を付けます。その名前が、テンプレートから参照する安定したハンドルになります。

path("about/", views.about, name="about")

URL引数の渡し方

ルートで値が必要な場合は、名前の後に渡します。Djangoは、コンバーターが値を受け取る場所に引数をパスへ組み込みます。

{% url 'post_detail' post.id %}

名前空間付きURL名

アプリでapp_nameを設定した場合は、blog:detailのようなプレフィックス付きでルートを参照し、他のアプリとの名前の衝突を避けます。

{% url 'blog:detail' post.id %}

アセット用のstaticタグ

staticタグは、CSS、JS、画像ファイルへの正しいURLを作成します。本番環境で保存先のパスが異なる場合でも機能します。

{% static 'css/style.css' %}

最初にstaticを読み込む

このタグを使う前に、テンプレートの上部付近でload staticを実行する必要があります。これにより、そのファイルでタグを使えるようになります。

{% load static %}

スタイルシートをリンクする

各要素を組み合わせて安全な方法でスタイルシートをリンクすれば、ファイルがどこから配信されてもパスを有効に保てます。

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

画像を表示する

画像にも同じstaticタグを使えます。staticフォルダー内のファイルを指定すると、Djangoが完全なURLを解決します。

<img src="{% static 'img/logo.png' %}">

staticが重要な理由

本番環境では、アセットがCDNやハッシュ付きパスに移されることがよくあります。staticタグがその違いを隠すため、テンプレートを編集する必要はありません。

2つのタグ、1つの目的

どちらのタグにも、Djangoにパスを計算させるという目的があります。ビューにはurlを、ファイルにはstaticを使います。

クイックチェック

目的に合った正しいタグを選んでください。

まとめ:安全なリンク

urlタグでビューへのパスを、staticでアセットへのパスを作成する方法を学びました。どちらもstaticを読み込んでから使用します。これでデータを使ったHTMLのレンダリングは完了です。

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「urlタグとstaticタグ」レッスンは無料ですか?

はい。「urlタグとstaticタグ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Django Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Django Academyコースには全4レッスンが含まれています。

「urlタグとstaticタグ」で何を学びますか?

パスをハードコードせずにルートとアセットをリンクします ブラウザで直接実行するハンズオンコードでDjango Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Django Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDjango Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「urlタグとstaticタグ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDjango Academyレッスンでコードを書いて実行できますか?

はい。すべてのDjango Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. render()とテンプレートコンテキスト
  2. テンプレートタグとフィルター
  3. extendsとblockによるテンプレート継承
  4. urlタグとstaticタグ
← Django Academyに戻る