为django-tagging添加新功能以补充
项目描述
django-tagging 提供标签功能。django-tagging-ext 提供增强的标签显示。所有渲染的HTML都是通过模板完成的,因此您可以按需自定义显示。
Django Tagging EXT的未来版本将包括以下功能
更全面的测试
标签分派,以便您可以更紧密地控制标签。例如,将标签限制为仅一个模型。
标签自动完成
依赖关系
django-tagging
可选依赖
Pinax 0.7.x Pinax 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-tagging-ext被设计成在根urls文件中完成所有工作。
在项目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 Tagging EXT获取用于Pinax的自定义视图
# 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
项目详情
关闭
django-tagging-ext-0.3.6.tar.gz的哈希
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | f56d834b8cdc3bbba6211dc5a6c0e264f70c799c9914395ac9449eab4997df12 |
|
| MD5 | 481c78078c0b161cee27c2aa9cfdd6b5 |
|
| BLAKE2b-256 | a37cfdf67c2d8815f2248b6a352d7254f2ed4b574d17640bb32152597e41ce66 |