在Python的Django框架下使用django-tagging的教程


Posted in Python onMay 30, 2015

django使用app机制来实现组件的重用,充分的利用已有的app可以极大的简化开发工作。目前django下的app虽然还不够丰富,却也还是有部分不错的。django-tagging就是一个不错的app。

现在tag的应用非常广泛,tag基本上成了各网站的必备项目之一,django-tagging就是一个提供tag功能的app。django-tagging提供的功能非常丰富,使用起来却十分简单。下面我就介绍一些常用的用法,让大家对该app有个基本的了解,更详细的介绍还是老老实实的去看django-tagging的使用说明吧:)。
tagging.fields.TagField

我们先定义一个数据库模型Widget,下面的范例都用Widget来进行说明

class Widget(models.Model):
  name = models.CharField(max_length=50)
  tags = TagField()

就如上面的代码,只要在数据库模型中增加tags字段就可以为该对象提供tag支持了。tags被映射为CharField,在为对象添加tag时为,英文逗号分割的字符串如:

Widget(name='hello', tags='test,hi,hello')

这样就为新建立的对象添加了test hi hello三个tag了。

获取某个tag下的所有对象的代码如下:

#取出所有属于TAG hi的对象
  tag = get_object_or_404(Tag, name='hi')
  widgets = TaggedItem.objects.get_by_model(Widget, tag)

如要取出Widget用到的所有tag的代码为:

tags = Widget.tags.all()
Python 相关文章推荐
Python struct模块解析
Jun 12 Python
Python中的异常处理简明介绍
Apr 13 Python
python基于右递归解决八皇后问题的方法
May 25 Python
Python读取文件内容的三种常用方式及效率比较
Oct 07 Python
python 解压pkl文件的方法
Oct 25 Python
Django框架实现的普通登录案例【使用POST方法】
May 15 Python
Python实现操纵控制windows注册表的方法分析
May 24 Python
Python面向对象之类的封装操作示例
Jun 08 Python
python 实现GUI(图形用户界面)编程详解
Jul 17 Python
Python 处理日期时间的Arrow库使用
Aug 18 Python
python爬虫爬取图片的简单代码
Jan 18 Python
Python实现简单的2048小游戏
Mar 01 Python
使用url_helper简化Python中Django框架的url配置教程
May 30 #Python
在Python的Django框架中simple-todo工具的简单使用
May 30 #Python
Python中Django框架下的staticfiles使用简介
May 30 #Python
简单介绍Python的Django框架的dj-scaffold项目
May 30 #Python
Python的Django框架中settings文件的部署建议
May 30 #Python
Python的Django中django-userena组件的简单使用教程
May 30 #Python
在SAE上部署Python的Django框架的一些问题汇总
May 30 #Python
You might like
在PWS上安装PHP4.0正式版
2006/10/09 PHP
PHP 组件化编程技巧
2009/06/06 PHP
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
JavaScript之自定义类型
2012/05/04 Javascript
JavaScript实现拼音排序的方法
2012/11/20 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
jquery.validate使用时遇到的问题
2015/05/25 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
ajax异步请求详解
2017/01/06 Javascript
axios基本入门用法教程
2017/03/25 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
python Django框架实现自定义表单提交
2016/03/25 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
Python celery原理及运行流程解析
2020/06/13 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
详解Canvas事件绑定
2018/06/27 HTML / CSS
物控部经理职务说明书
2014/02/25 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
2014年工程工作总结
2014/11/25 职场文书
新教师个人工作总结
2015/02/06 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
2015年中学体育教师工作总结
2015/10/23 职场文书
MySQL基础(二)
2021/04/05 MySQL
mysql创建存储过程及函数详解
2021/12/04 MySQL
世界十大狙击步枪排行榜
2022/03/20 杂记