django-django-taggit形式
我对django taggit应用程序不太熟悉,但看起来如果你想使用应用程序使用的相同字段和小部件设置,你可以从taggit导入它们。表格(https://github.com/alex/django-taggit/blob/master/taggit/forms.py
):
你的models.py:
from django.db import models
from taggit.managers import TaggableManager
class Food(models.Model):
name = models.CharField(max_length=20)
tags = TaggableManager()
你的forms.py
from taggit.forms import *
class MyForm(forms.Form):
name = forms.CharField()
m_tags = TagField()
TagField将使用parse_tags方法返回已处理的输入utils.py 在taggit应用程序中。 返回看起来是一个清理列表(set(words))
你的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/')
所有回答
见这里的说明:https://github.com/alex/django-taggit/blob/master/docs/forms.txt
如果在保存表单时使用需要调用的commit=False
选项
save_m2m()
在保存对象后的表单上,就像保存对象一样
表单上有正常的多到多字段::
if request.method == "POST":
form = MyFormClass(request.POST)
if form.is_valid():
obj = form.save(commit=False)
obj.user = request.user
obj.save()
# Without this next line the tags won't be saved.
form.save_m2m()
我无法评论使用/"绿色打勾"的答案。 但我会换块
到