添加新功能以补充django标记
django-tagging-ext的Python项目详细描述
django-tagging给你标记。django标记ext增强了 显示标记。所有呈现的html都是通过模板完成的,因此您可以自定义 根据需要显示
Django Tagging Ext的未来版本将包括以下功能:
- More comprehensive tests
- Tag dispatching so you can control tagging more tightly. For example, limiting tags to just one model.
- Tag Auto-complete
依赖关系
django标记
可选依赖项
皮纳克斯0.7.x 皮纳克斯0.9+
安装
标记发布:
pip install django-tagging-ext
开发版本:
pip install -e git+git://github.com/pydanny/django-tagging-ext.git#egg=django-tagging-ext
添加到django settings.py文件:
INSTALLED_APPS = ( ... 'tagging_ext', )
通过根url conf查看渲染
django标记ext的设计使得所有工作都在根url文件中完成。
在项目url conf(urls.py)中:
# django-tagging-ext url definitions from blog.models import Post from bookmarks.models import BookmarkInstance from photos.models import Image from tagging.models import TaggedItem tagged_models = ( dict(title="Blog Posts", query=lambda tag : TaggedItem.objects.get_by_model(Post, tag).filter(status=2), ), dict(title="Bookmarks", query=lambda tag : TaggedItem.objects.get_by_model(BookmarkInstance, tag), ), dict(title="Photos", query=lambda tag: TaggedItem.objects.get_by_model(Image, tag).filter(safetylevel=1), ), ) tagging_ext_kwargs = { 'tagged_models':tagged_models, # You can add your own special template to be the default #'default_template':'custom_templates/special.html' } urlpatterns += patterns('', url(r'^tags/(?P<tag>.+)/(?P<model>.+)$', 'tagging_ext.views.tag_by_model', kwargs=tagging_ext_kwargs, name='tagging_ext_tag_by_model'), url(r'^tags/(?P<tag>.+)/$', 'tagging_ext.views.tag', kwargs=tagging_ext_kwargs, name='tagging_ext_tag'), url(r'^tags/$', 'tagging_ext.views.index', name='tagging_ext_index'), )
通过根url conf
查看pinax对象的呈现在pinax项目url_conf(urls.py)中,我们使用custom_template字段来 显式地告诉django标记ext获取为在中使用而自定义的视图 皮纳克斯:
# django-tagging-ext url definitions from blog.models import Post from bookmarks.models import BookmarkInstance from photos.models import Image from tagging.models import TaggedItem tagged_models = ( dict(title="Blog Posts", query=lambda tag : TaggedItem.objects.get_by_model(Post, tag).filter(status=2), content_template="pinax_tagging_ext/blogs.html", ), dict(title="Bookmarks", query=lambda tag : TaggedItem.objects.get_by_model(BookmarkInstance, tag), content_template="pinax_tagging_ext/bookmarks.html", ), dict(title="Photos", query=lambda tag: TaggedItem.objects.get_by_model(Image, tag).filter(safetylevel=1), content_template="pinax_tagging_ext/photos.html", ), ) tagging_ext_kwargs = { 'tagged_models':tagged_models, # You can add your own special template to be the default #'default_template':'custom_templates/special.html' } urlpatterns += patterns('', url(r'^tags/(?P<tag>.+)/(?P<model>.+)$', 'tagging_ext.views.tag_by_model', kwargs=tagging_ext_kwargs, name='tagging_ext_tag_by_model'), url(r'^tags/(?P<tag>.+)/$', 'tagging_ext.views.tag', kwargs=tagging_ext_kwargs, name='tagging_ext_tag'), url(r'^tags/$', 'tagging_ext.views.index', name='tagging_ext_index'), )
在Pinax项目中运行测试
$ pinax-admin setup_project -b social my_pinax_project $ cd my_pinax_project $ python manage.py test tagging_ext