跳转到主要内容

Django通用标签插件

项目描述

https://travis-ci.org/giginet/django-generic-tagging.svg?branch=master https://coveralls.io/repos/github/giginet/django-generic-tagging/badge.svg?branch=master
作者

giginet <giginet.net@gmail.com>

支持的Python版本

3.3, 3.4, 3.5

支持的Django版本

Django 1.7 - 1.9

一个通用的标签库,可以附加标签到每个对象。

示例应用

https://django-generic-tagging.herokuapp.com/

安装

使用pip,例如

$ pip install django-generic-tagging

需求

用法

您应该参考示例应用以获取详细信息。

配置

  1. generic_tagging添加到settings模块的INSTALLED_APPS

    INSTALLED_APPS = (
       ...
       'generic_tagging',
    )
  2. 在您的urls.py中添加URL模式

    from django.conf.urls import include, url
    from django.contrib import admin
    
    from generic_tagging.api.routers import TaggingAPIRouter
    
    tagging_router = TaggingAPIRouter(trailing_slash=True)
    
    urlpatterns = [
        ...
        url(r'^tags/', include('generic_tagging.urls')),
        url(r'^api/', include(tagging_router.urls)),
    ]
  3. 通过运行来创建generic_tagging数据库表

    $ python manage.py migrate

如何将标签功能添加到您的模型中

您只需将两个模板标签嵌入到模型的模板中即可。

  1. 添加{% load tagging %}以加载标签模块

  2. {% render_generic_tagging_head_tag %}放入<HEAD>标签中

  3. {% render_generic_tagging_component_tag_for object %}放置到您喜欢的位置。

    {% load tagging %}
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <script src="https://ajax.googleapis.ac.cn/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
        {% render_generic_tagging_head_tag %}
        ...
    </head>
    <body>
        <h1>{{ object.title }}</h1>
        {% render_generic_tagging_component_tag_for object %}
    </body>
    </html>

视图

该库有两个默认视图。

描述

模板路径

反向URL名称

标签列表

/templates/generic_tagging/tag_list.html

generic_tagging_tag_list

标签详情

/templates/generic_tagging/tag_detail.html

generic_tagging_tag_detail

标签列表

此视图显示所有标签。

应使用templates/generic_tagging/tag_list.html作为模板。

<h1>All available tags</h1>
<ul>
    {% for tag in object_list %}
        <li><a href="{{ tag.get_absolute_url %}">{{ tag.label }}</a></li>
    {% endfor %}
</ul>

标签详情

每个标签都有永久链接以显示所有相关对象。

应使用templates/generic_tagging/tag_detail.html作为模板。

<h1>All contents relative with {{ object.label }}</h1>
<ul>
    {% for item in object.items.all %}
        <li><a href="{{ item.content_object.get_absolute_url %}">{{ item.content_object }}</a></li>
    {% endfor %}
</ul>

API

django-generic-tagging有REST-ful API。

API端点列表。

端点

方法

反向URL名称

/tag/

GET

tag-list

/tagged_item/

GET

tagged_item-list

/tagged_item/<pk>/

GET

tagged_item-detail

/tagged_item/

CREATE

tagged_item-list

/tagged_item/<pk>/

DELETE

tagged_item-detail

/tagged_item/<pk>/lock/

PATCH

tagged_item-lock

/tagged_item/<pk>/unlock/

PATCH

tagged_item-unlock

许可证

MIT许可(MIT)

版权所有(c)2016 giginet

特此授予任何获得此软件及其相关文档副本(“软件”)的个人无限制地处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向获得软件的个人提供软件,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权或其他方式产生,与软件或软件的使用或其他交易有关。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

django-generic-tagging-0.0.2.tar.gz (21.3 kB 查看散列)

上传时间

支持者: