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

yipeiwu_com6年前Python基础

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图像常规操作

使用python进行基本的图像操作与处理 前言: 与早期计算机视觉领域多数程序都是由 C/C++ 写就的情形不同。随着计算机硬件速度越来越快,研究者在考虑选择实现算法语言的时候会更多地考...

Tensorflow之Saver的用法详解

Tensorflow之Saver的用法详解

Saver的用法 1. Saver的背景介绍 我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用作测试。Tensorflow针对这一需求提...

tensorflow saver 保存和恢复指定 tensor的实例讲解

在实践中经常会遇到这样的情况: 1、用简单的模型预训练参数 2、把预训练的参数导入复杂的模型后训练复杂的模型 这时就产生一个问题: 如何加载预训练的参数。 下面就是我的总结。 为了方便说...

python 读写、创建 文件的方法(必看)

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下...

Python Django 命名空间模式的实现

Python Django 命名空间模式的实现

新建一个项目 app02 在 app02/ 下创建 urls.py: from django.conf.urls import url from app02 import view...