在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编程中JSON模块的使用
Oct 15 Python
Python决策树和随机森林算法实例详解
Jan 30 Python
python requests post多层字典的方法
Dec 27 Python
Python3实现取图片中特定的像素替换指定的颜色示例
Jan 24 Python
Django 实现前端图片压缩功能的方法
Aug 07 Python
解决python3 requests headers参数不能有中文的问题
Aug 21 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
用Python实现校园通知更新提醒功能
Nov 23 Python
python之列表推导式的用法
Nov 29 Python
Python 列表反转显示的四种方法
Nov 16 Python
简单介绍Python的第三方库yaml
Jun 18 Python
python+pyhyper实现识别图片中的车牌号思路详解
Dec 24 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验证码函数代码(简单实用)
2013/09/29 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
javascript 数组的方法集合
2008/06/05 Javascript
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
详解vue静态资源打包中的坑与解决方案
2018/02/05 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
利用python为运维人员写一个监控脚本
2018/03/25 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
python实现KNN分类算法
2019/10/16 Python
Python3并发写文件与Python对比
2019/11/20 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
python如何快速拼接字符串
2020/10/28 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
请解释在new与override的区别
2012/10/29 面试题
开办饭店创业计划书
2013/12/28 职场文书
大型车展策划方案
2014/02/01 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
英语教师求职信范文
2015/03/20 职场文书
收入证明怎么写
2015/06/12 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记