编辑表单中的 Django-Taggit

Lui*_*lho 6 django django-taggit

这是一个模型类

class ModelName(models.Model):
  (...)
  pasta = TaggableManager(verbose_name=u'Pasta')
Run Code Online (Sandbox Code Playgroud)

和一个表单模板(正常:P)

{{form.as_p}}

我想让一切都非常干净和有用。但结果是一个 TaggedItem 对象列表 :( :

[<TaggedItem: id: 2 tagged with general >, <TaggedItem: id: 3  tagged with outer >]
Run Code Online (Sandbox Code Playgroud)

而不是像

general, outer
Run Code Online (Sandbox Code Playgroud)

在 Django 中如何时尚?

Art*_*vim 7

看看代码:https : //github.com/alex/django-taggit/blob/master/taggit/forms.py。您将找到用于呈现标签的小部件。您可以使用它来正确渲染它们。

例子:

模型.py

from django.db import models
from taggit.managers import TaggableManager


class Example(models.Model):
    name = models.CharField(max_length=20)    
    tags = TaggableManager()
Run Code Online (Sandbox Code Playgroud)

表格.py

.models import Example
from django import forms
from taggit.forms import TagWidget


class ExampleForm(forms.ModelForm):

    class Meta:
        model = Example
        fields = ('name', 'tags',)
        widgets = {
            'tags': TagWidget(),
        }
Run Code Online (Sandbox Code Playgroud)

我建议你也检查这个答案。 django - django-taggit 表单