【Django基础入门】Breadcrumbs导航栏
2012-07-25 17:50
281 查看
1:添加 django-breadcrumbs
2:a,在 MIDDLEWARE_CLASSES 添加 breadcrumbs.middleware.BreadcrumbsMiddleware
b,如果在 TEMPLATE_CONTEXT_PROCESSORS 没有添加 context processor,那么就添上它,如下:
3:在模版中添加如下模块(可以先跳过这一步,待会回头在看)
4:在view.py中添加如下信息
即:将
放到任何与页面显示有关的 view 中(比如 render_to_response 返回了一个模版),它不会影响你的代码,所以,添加上后可以忽视它,
然后在相应的模版里加上 如上 第三步 代码,即可显示 导航栏。
优化:
当然,一般模版有继承关系,例如导航栏放在所有模版的公共模块(header.html),其它所有子模版集成header.html ,那么仅仅需要在 header.html 中添加如上第三步代码即可。
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 中添加如上第三步代码即可。
相关文章推荐
- 【Django基础入门】Breadcrumbs导航栏
- 【Django基础入门】Aptana提示功能和shell设置
- django 基础入门(二)
- 【Django基础入门】生产环境搭建
- django基础入门(1)django基本配置
- Django基础知识与基本应用入门教程
- django基础入门(2)django中第一个视图
- Django基础入门06
- django基础入门(3)django中模板
- Android基础入门教程——5.2.2 Fragment实例精讲——底部导航栏的实现(方法2)
- Django学习(基础入门上篇)
- django基础入门(1)-搭建环境
- Android基础入门教程——5.2.3 Fragment实例精讲——底部导航栏的实现(方法3)
- django基础入门(2)django中第一…
- 【Django基础入门】空间数据库查询
- django基础入门(4)-后台管理
- 【Django基础入门】ManyToManyField跨越中间表查询
- django基础入门(1)django基本配置
- django 基础入门(一)
- django基础入门(5)-视图