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)。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做。 –