urlタグとstaticタグ
パスをハードコードせずにルートとアセットをリンクします
「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フィードバックを取得できます。ローカル設定は不要です。