urls.pyで該当のURLパターンにnameを指定し、ナビゲーションバー内のリンクにそのnameを使ってリンクを設定したい

2024年6月18日

ナビゲーションアイテムをクリックしたときに、指定したURLのnameで定義されたビューに移動するには、urls.pyで該当のURLパターンにnameを指定し、ナビゲーションバー内のリンクにそのnameを使ってリンクを設定します。

以下は、ナビゲーションバー内の"Home"リンクがhomeというnameで定義されたビューにリンクする例です。

urls.py:

python
from django.urls import path
from .views import HomeView

urlpatterns = [
    path('', HomeView.as_view(), name='home'),
    # 他のURLパターンをここに追加
]

views.py:

python
from django.views.generic import TemplateView

class HomeView(TemplateView):
    template_name = 'home.html'

ナビゲーションバーのHTMLテンプレート部分:

html
<!-- ナビゲーションバー内の"Home"リンク -->
<li class="nav-item active">
    <a class="nav-link" href="{% url 'home' %}">Home</a>
</li>

このようにして、"Home"リンクがurls.pyで定義したhomeというnameで指定されたURLパターンにリンクします。他のリンクも同様に、それぞれのビューに対応するnameでリンクを設定できます。

未分類

Posted by ぼっち