django站点的可扩展、分层和可插入的导航系统
django-treenav的Python项目详细描述
django站点的可扩展、分层和可插入的导航系统。
django treenav是从一开始就独立于cms而设计的 实施。作为一个独立的应用程序,treenav可以很容易地集成 进入现有的自定义设置,不强制或要求用户使用 特定内容管理系统。
分享同样的原则, django-pagelets 与TeleNav无缝集成,可以一起使用来创建灵活的 CMS产品。
对于完整的文档签出,http://django-treenav.readthedocs.org
功能
- 具有多个url规范的通用功能:get_absolute_url(),reverse(),或原始url
- 与模板一起打包,以使用嵌套的<;ul>;呈现树层次结构,但可以使用自定义模板轻松覆盖 <>用于灵活UI定制的有用CSS类
- 如果路径信息等于项,则自动对项和项的父项设置“活动”。
- 高效:使用django mptt功能最小化数据库访问
- 缓存树,以便重复的页面视图不会命中数据库。
- 菜单项列表视图中用于刷新缓存和 从数据库中。
要求
- django>;=1.8
- django-mptt>;=0.8.6
使用演示
要快速演示,请执行以下步骤:
$ mkvirtualenv django-treenav (django-treenav)$ git clone git://github.com/caktus/django-treenav.git (django-treenav)$ cd django-treenav/ (django-treenav)~/django-treenav$ python setup.py develop (django-treenav)~/django-treenav$ cd sample_project/ (django-treenav)~/django-treenav/sample_project$ pip install -r requirements.txt (django-treenav)~/django-treenav/sample_project$ ./manage.py migrate (django-treenav)~/django-treenav/sample_project$ ./manage.py runserver
访问浏览器中的http://localhost:8000/并按照说明进行操作。
安装
使用pip安装应用程序:
pip install django-treenav
添加到已安装的应用程序中并运行迁移:
INSTALLED_APPS = ( ..., 'mptt', 'treenav', )
包括这些上下文处理器:
TEMPLATES = [ { 'OPTIONS': { 'context_processors': [ "django.template.context_processors.request", "treenav.context_processors.treenav_active", ], }, }, ]
添加这些URL:
urlpatterns = [ url(r'^treenav/', include('treenav.urls')), ]
由Caktus Consulting Group, LLC赞助的开发。