0

グローバルレイアウトビューであるビューにシンプルなナビゲーションブロックを作成したい。

カスタムの include_tag を使用して実行できると思いますが、現在の URL を特定してナビゲーション ブロックにアクティブなアイテムとして設定したいので、現在のリクエスト URL を取得するにはどうすればよいですか。グローバルリクエスト変数を取得するにはどうすればよいですか、または他のアプローチが必要ですか?

#templatetags/menutags.py
@register.inclusion_tag('menu.html')
def show_menu():
    categories = Categories.object.all()
    return {'categories': categories}

#templates/base.html
{% include menutags %}
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
    {% show_menu %}
    {% block content %}{% endblock %}
</body>
</html>

#templates/view.html
{% extends "base.html" %}
{% block content %}<div>...</div>{% endblock %}
4

1 に答える 1

0

これを試して:

@register.inclusion_tag('menu.html', takes_context = True)
def show_menu(context):
    categories = Categories.object.all()
    path= context['request'].path
    return {'categories': categories,'path':path}
于 2012-10-10T08:55:26.193 に答える