Template ページで自分のURLを取得する方法 [Django]

Template ページで自分のURLを取得する方法 [Django]


donald chi / 2017-03-18 20:08

音声ファイル作成中...
Audio: Visited: 3356


ブログ文章の共有機能を追加しようとすると本ページのURLを 取得する必要性が出てきました。

もちろんこれ以外にもきっと必要な場があると思います。

ということで探してみたら、以前Djangoのバージョンでは views.pyを変えたり、settings.pyを変えたり煩雑だったのが、

旧バージョンのやり方: How to get the current URL within a Django template?

今になっては、簡単になっているらしいです。

具体的なやり方

  1. settings.pyのTEMPLATES項目に,

django.template.context_processors.requestを追加。

TEMPLATES = [
    ...
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.request',
            ],
        },
    ...
]
  1. {{ request.path }}, {{ request.get_full_path }}, {{ request.build_absolute_uri }} のうち いずれかを使って本ページのURLを取得。それぞれ取得する情報は以下のようになる。

    本ページURL: http://127.0.0.1:8000/details/sqlstatehy/?genre=life  の場合

    {{ request.path }} : /details/sqlstatehy/

    {{ request.get_full_path }} : /details/sqlstatehy/?genre=life

    {{ request.build_absolute_uri }} : http://127.0.0.1:8000/details/sqlstatehy/?genre=life


1

0

Share with: Facebook Twitter Google+ LinkedIn Wechat Email Print

Comments: 0 件

There is no Comment now.

Add Comment

Name:
Email:
Comment: