0
我尝试过不同的Django-taggit教程,但由于某些原因,它们都显示如何通过管理员添加标签。我想知道是否可以在创建Model的实例时使用View和模板添加标签?或者我应该只添加标签到现有的项目?有没有最近的教程Django-Taggit或我更好的应用程序的标签?用Django-Taggit添加标签
我尝试过不同的Django-taggit教程,但由于某些原因,它们都显示如何通过管理员添加标签。我想知道是否可以在创建Model的实例时使用View和模板添加标签?或者我应该只添加标签到现有的项目?有没有最近的教程Django-Taggit或我更好的应用程序的标签?用Django-Taggit添加标签
他们的documentation是相当的膨胀。一旦建立了模型,就可以像使用表单中的其他字段一样使用标记字段。它会自动设置为解析标签。
这是一个非常基本的工作示例。
views.py
from django.shortcuts import render
from .models import NewspaperIndex
from .forms import NewIndexForm
def overview(request):
if request.method == "POST":
form = NewIndexForm(request.POST)
if form.is_valid():
form.save()
else:
form = NewIndexForm()
indexes = NewspaperIndex.objects.all()
context = {'form': form,
'indexes': indexes
}
return render(request, 'newsindex/overview.html', context)
models.py
from django.db import models
from taggit.managers import TaggableManager
class NewspaperIndex(models.Model):
title = models.CharField(max_length=200)
date = models.DateField()
abstract = models.TextField()
tags = TaggableManager()
def __str__(self):
return self.title
forms.py
import datetime
from django import forms
from django.forms import ModelForm
from .models import NewspaperIndex
class NewIndexForm(forms.ModelForm):
class Meta:
model = NewspaperIndex
fields = ['title', 'date', 'abstract', 'tags']
模板/新闻索引/ overview.html
<form class="" action="./" method="post">
{% csrf_token %}
{{form.as_p}}
<input type="submit" name="submit" value="Submit">
</form>
嗨最佳版本,如果这个或任何答案已解决您的问题,请点击复选标记,考虑[接受它](http://meta.stackexchange.com/q/5234/179419)。这向更广泛的社区表明,您已经找到了解决方案,并为答复者和您自己提供了一些声誉。没有义务这样做。 –