• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Django / Djangoの{% url %}を使ってリンクを作成し画面遷移を行う方法

Djangoの{% url %}を使ってリンクを作成し画面遷移を行う方法

1 {% url %}を使って画面遷移を行う方法
2 関連記事


{% url %}を使って画面遷移を行う方法

この記事では、テンプレート上にリンクを作成して、画面遷移をする方法を紹介する。

{% url %}Djangoのテンプレートで記述する独自の言語テンプレートパターンの1つで、リンクを作成することができる。

以下のように記述する。


{% url 'hello' %}

この例では、helloで指定されたページに遷移するようになる。

実例を以下に記載する

  • templates/hello.html
<h1>Welcome to relative</h1>
    <a href="{% url 'basicapp:other' %}">THE OTHER PAGE</a>
    <!-- basicapアプリケーションのotherに遷移 -->

    <a href="{% url 'admin:index' %}">ADMIN</a>
    <!-- Adminに遷移 -->
    <a href="{% url 'index' %}">ADMIN</a>
    <!-- プロジェクトフォルダのindexに遷移 -->

上で指定したように遷移をさせるには、urls.pyでURLマッピングをする必要がある。

app_name変数の指定と、urlpatterns変数内でname=''として遷移先を指定することが必要。

以下のように記述する

  • プロジェクト名/urls.py
from django.contrib import admin
from django.urls import path, include
from basicapp import views

urlpatterns = [
    path('admin/', admin.site.urls), # adminの遷移先指定
    path('basicapp/', include('basicapp.urls')), # URLにbasic_app/の遷移の詳細をbasicapp.urlsに記述
    path('index/', views.index, name='index'), # name='index'とすることでテンプレートで{% index %}としたときに、views(basicapp/views)のindex関数に遷移
]

  • basicapp/urls.py
from django.urls import path
from basicapp import views

# app_nameを指定すると、テンプレートで[% app_name:〇〇 %}とした際にapp_nameがこのファイルを指定していると解釈する
app_name = 'basicapp'

urlpatterns = [
    path('relative/', views.relative, name='relative'), # name='relative'とすることで、{% app_name:relative %}と指定したときにviewsのrelative関数を呼び出す
    path('other/', views.other, name='other'), # name='other'とすることで、{% app_name:other %}と指定したときにviewsのother関数を呼び出す
]

nameの指定を忘れると、Reverse for '' not found エラーが発生する。

関連記事

Pythonの型ヒント:コレクション型とOptional型の使い方
Pythonの型ヒント:コレクション型とOptional型の…
Python型ヒントについて、変数と関数の引数と戻り値に付与する基本的な書き方について
Python型ヒントについて、変数と関数の引数と戻り値に付与…
【まとめ】よく使うLinuxのショートカット11選
【まとめ】よく使うLinuxのショートカット11選
覚えておくべきLinuxコマンド50選
覚えておくべきLinuxコマンド50選
FlaskでFormを用いてPOSTリクエストを行い、送信された値を取得する
FlaskでFormを用いてPOSTリクエストを行い、送信さ…
Flaskでabortを用いてHTTPException例外を強制的に発生させる
Flaskでabortを用いてHTTPException例外…

Primary Sidebar

人気記事

  • 1
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 2
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 3
    Python未経験だが、フリーランスの案件に採用さ…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

1 {% url %}を使って画面遷移を行う方法
2 関連記事
StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Django講座
【Udemy】Django入門講座(0からDjangoを学習: Python講座つき)
受講生6500人ほどの人気講座。<strong>View, Template, Model, Cla...
詳細 ▶

Footer

利用規約