首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于django的类似Stackoverflow的标记系统形式?

用于django的类似Stackoverflow的标记系统形式?
EN

Stack Overflow用户
提问于 2013-08-09 13:22:38
回答 1查看 940关注 0票数 1

我试图创建的是一个资源站点。基本上,您可以通过链接添加诸如书籍和视频等资源。现在,对于满足各种资源需求的任何资源站点,您都需要对它们进行标记,以便了解您正在使用的资源类型。

例如,如果你在像化学这样的东西上做了笔记,或者在一次关于"Django“的演讲中做了重点说明,那么这些就是文本文档。因此,您需要将它们放在TEXT标记中。

所以,当你为这类事情做表单时,你会使用什么表单字段?例如,通过膝跳方法是简单地创建一个文本区域字段,然后通过逗号分隔不同的标记。现在,这很容易出现很多问题,我只想知道解决这个问题的最佳方法是什么?基本上,验证数据输入的简单方法是什么?forms.ChoiceField是解决问题的最佳方法,还是有其他更好的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-09 13:33:00

https://www.djangopackages.com/grids/g/tagging/是你最好的选择,特别是https://github.com/alex/django-taggit。如果您想运行自己的标记系统,请查看源代码中的一些想法。

编辑:在表单中显示这一点的最简单方法是使用ModelMultipleChoiceField。这允许您为单个资源选择多个标记,并处理服务器端验证和到实际Tag实例的转换。然而,我想大多数人都会同意这个选项看起来很可怕,而且如果有大量可能的标签,这肯定是不对用户友好的。

如果使用jQUery,另一种选择是使用select2。这是我个人在类似情况下使用的,它很好地处理了大量可能的标签。Django_select2是jQuery的Select2插件的一个薄包装器,带有一些附加功能(最显著的是AutoViewAutoModelSelect2Field)。这在文本字段和选择列表之间提供了一个混合,允许您搜索所有标记并轻松地选择多个标记。有关您可以实现什么的示例,请参见http://ivaynberg.github.io/select2/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18147659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档