Contents
Django URLタグを使用
templates/sample.html
<a href="{% url 'page_name' %}">リンク</a>
urls.py
urlpatterns = [
path('page-url', views.page_url, name='page_name'),
]
Django URLタグにパラメータを直接指定
templates/sample.html
<a href="{% url 'param_page' 5 7 %}">リンク</a>
urls.py
urlpatterns = [
path('param/<int:param01>/<int:param02>', views.param, name='param_page'),
]
受け取り側views.py
def param(request, param01, param02):
print(param01)
print(param02)
# 5
# 7
Django URLタグにパラメータを間接指定
次のようにパラメータをviews.pyから指定して渡すことも可能です。
templates/sample.html
<a href="{% url 'param_page' param01 param02 %}">リンク</a>
受け取り側のurls.pyは同じです。
こちらの方が直接指定よりもいいですね。
Django hrefで直接指定し、URLタグを使用しない(非推奨)
次のように直接指定することも可能です。
templates/sample.html
<a href="/page-url">直接リンク指定</a>
urls.py
urlpatterns = [
path('page-url', views.page_url, name='page_name'),
]
しかしこの方法はオススメしません。
Django URLタグを使用を使用するメリット
サイトの名称を指定するので、サイト内のページ構成が変わってもリンク先を変更する必要がないからです。
逆にURLタグを使用せずhrefで直接指定した場合、ページ構成が変わってURLが変わると変更が必要になります。
そして何よりも画面遷移が多くなると、URLの階層が深くなり指定する情報が長くなってしまいます。
これらを避ける為にもURLタグを使用した方が、簡単かつ安全です。
コメント