Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django-Taggit in Edit Form

This is a Model Class

class ModelName(models.Model):
  (...)
  pasta = TaggableManager(verbose_name=u'Pasta')

and a form template (normal :P )

{{form.as_p}}

I'd like to leave everything very clean and usefull. But result is a list of TaggedItem Object :( :

[<TaggedItem: id: 2 tagged with general >, <TaggedItem: id: 3  tagged with outer >]

Instead of something like

general, outer

How do it fashionably in Django?

like image 230
Luiz Carvalho Avatar asked Apr 18 '13 19:04

Luiz Carvalho


1 Answers

Give a look at the code in: https://github.com/alex/django-taggit/blob/master/taggit/forms.py. You will find the widget used to render the tags. You can use it to render them correctly.

Example:

models.py

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


class Example(models.Model):
    name = models.CharField(max_length=20)    
    tags = TaggableManager()

forms.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(),
        }

I'd recommend you to check this answer too. django - django-taggit form

like image 182
Arthur Alvim Avatar answered Oct 18 '22 00:10

Arthur Alvim