在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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
在Python程序中实现分布式进程的教程
Apr 28 Python
Python实现简单截取中文字符串的方法
Jun 15 Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 Python
Python OpenCV获取视频的方法
Feb 28 Python
python实现视频读取和转化图片
Dec 10 Python
Python list运算操作代码实例解析
Jan 20 Python
python的reverse函数翻转结果为None的问题
May 11 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
pycharm 关掉syntax检查操作
Jun 09 Python
keras 实现轻量级网络ShuffleNet教程
Jun 19 Python
python自动化测试之Selenium详解
Mar 13 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写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
解决FLASH需要点击激活的代码
2006/12/20 Javascript
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
页面中iframe相互传值传参
2009/12/13 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
Python yield使用方法示例
2013/12/04 Python
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
python基础练习之几个简单的游戏
2017/11/10 Python
Python虚拟环境项目实例
2017/11/20 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
python 实现波浪滤镜特效
2020/12/02 Python
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
解除劳动合同协议书
2014/04/14 职场文书
毕业设计说明书
2014/05/07 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
世界十大狙击步枪排行榜
2022/03/20 杂记
vue动态绑定style样式
2022/04/20 Vue.js
nginx七层负载均衡配置详解
2022/07/15 Servers
Java使用HttpClient实现文件下载
2022/08/14 Java/Android