2011-09-18 20 views
18

現在のURL値に基づいてifタグを実行できるようにします。Djangoテンプレート(現在のURL値に基づくタグの場合)

たとえば、現在のページのURLがaccounts/login/の場合、ビューから変数を渡さずにリンクを表示しないでください。

{% if %}タグを書くにはどうすればいいですか?

{% if request.get_full_path == "/account/login/" %} 
+0

可能な複製:http://stackoverflow.com/questions/2882490/get-the-current-url-within-a-django-template – arie

答えて

19

、その後、あなたがこれを使用することができます

{% url 'show_user_page' user=user as the_url %} 
{% if request.get_full_path == the_url %}something{% endif %} 

あなた私はちょうどstackoverflowのを起草年代を過ごしたので

(r'^myapp/user/(?P<user>\d+)/$', 'show_user_page'), 

私はこれを知っている:urls.pyのようなものが含まれています質問、the answerがドキュメントに見つかりました。

私は単純なケースでも、よりゆるやかに結合されているため、これがより良いアプローチかもしれないと言いたいと思います。

+0

これで私は編集。比較に== not =を使用する必要があります。 –

36

また、使用して動的URLのためにこれを行うことができます:あなたはあなたのテンプレートに「要求」のオブジェクトを渡すと

+0

Woooow。私の一日がそこにあった。複数のページにわたって同じスニペットをincludeタグを使用して使用し、どのページを表示するかによって異なるリンクを表示する方法が必要でした。プライスレスアプローチ! – Rexford

関連する問題