Я не слишком знаком с приложением django taggit, но похоже, что если вы хотите использовать те же настройки полей и виджетов, которые использует приложение, вы можете импортировать их из taggit.forms (https://github.com/alex/django-taggit/blob/master/taggit/forms.py
):
your models.py:
from django.db import models
from taggit.managers import TaggableManager
class Food(models.Model):
name = models.CharField(max_length=20)
tags = TaggableManager()
your forms.py
from taggit.forms import *
class MyForm(forms.Form):
name = forms.CharField()
m_tags = TagField()
TagField вернет обработанный ввод, используя метод parse_tags из utils.py в приложении taggit. Возвращаемый результат выглядит как очищенный список (набор (слова))
your views.py
if form.is_valid():
name = form.cleaned_data['name']
m_tags = form.cleaned_data['m_tags']
object = Food(name=name)
object.save()
for m_tag in m_tags:
object.tags.add(m_tag)
return HttpResponseRedirect('/thanks/')