在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里使用正则表达式的ASCII模式
Nov 02 Python
python使用json序列化datetime类型实例解析
Feb 11 Python
详解django三种文件下载方式
Apr 06 Python
python实现决策树ID3算法的示例代码
May 30 Python
python使用selenium实现批量文件下载
Mar 11 Python
Python列表与元组的异同详解
Jul 02 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
Jan 08 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
Aug 05 Python
实例讲解Python中sys.argv[]的用法
Jun 03 Python
一起来学习Python的元组和列表
Mar 13 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 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
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
jtable列中自定义button示例代码
2013/11/21 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
Python编程中对文件和存储器的读写示例
2016/01/25 Python
python中正则表达式 re.findall 用法
2018/10/23 Python
python global关键字的用法详解
2019/09/05 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
德国网上药房:Apotal
2017/04/04 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
25岁生日感言
2014/01/13 职场文书
走进敬老院活动总结
2014/07/10 职场文书
中职三好学生事迹材料
2014/08/24 职场文书
初中学生操行评语
2014/12/26 职场文书
新学期感想
2015/08/10 职场文书
Python实战之实现简易的学生选课系统
2021/05/25 Python
Minikube搭建Kubernetes集群
2022/03/31 Servers