全局视图中的Django动态导航块

时间:2012-10-10 08:25:07

标签: django django-templates django-views

我想在视图中创建一个简单的导航块,谁是全局布局视图。

我认为,我可以使用自定义的inclusion_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 %}

1 个答案:

答案 0 :(得分: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}