您的位置:首页 > 编程语言 > Go语言

【Django基础入门】Breadcrumbs导航栏

2012-07-25 17:50 281 查看
1:添加 django-breadcrumbs

pip install django-breadcrumbs


2:a,在 MIDDLEWARE_CLASSES 添加 breadcrumbs.middleware.BreadcrumbsMiddleware
      b,如果在 TEMPLATE_CONTEXT_PROCESSORS 没有添加 context processor,那么就添上它,如下:

TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.contrib.messages.context_processors.messages",
'django.core.context_processors.request',
)


3:在模版中添加如下模块(可以先跳过这一步,待会回头在看)

{% for breadcrumb in request.breadcrumbs %}
<a href="{{ breadcrumb.url }}">{{ breadcrumb.name }}</a>{% if not forloop.last %} » {% endif %}
{% endfor %}


4:在view.py中添加如下信息

def activity(request):

request.breadcrumbs([(_("homepage"),'/'),
(_("activity"),'/activity/')
])
activities = Activity.objects.all()
return render_to_response('org/activity.html' , {'activities':activities} , context_instance=RequestContext(request))


即:将 
request.breadcrumbs([(_("homepage"),'/'),
(_("activity"),'/activity/')
])

放到任何与页面显示有关的 view 中(比如 render_to_response 返回了一个模版),它不会影响你的代码,所以,添加上后可以忽视它,
然后在相应的模版里加上 如上 第三步 代码,即可显示 导航栏。

优化:

当然,一般模版有继承关系,例如导航栏放在所有模版的公共模块(header.html),其它所有子模版集成header.html ,那么仅仅需要在 header.html 中添加如上第三步代码即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  breadcrumbs django 优化