Я пробовал разные учебники для Django-taggit, но по какой-то причине все они показывают, как добавлять теги через Admin. Мне было интересно, могу ли я добавлять теги, используя View и template при создании экземпляра модели? или я должен добавлять теги только к существующим элементам? Есть ли недавние учебники для Django-Taggit или мое лучшее приложение для тегов?Добавление тегов с Django-Taggit
0
A
ответ
0
Их 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']
шаблоны/newsindex/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), нажав галочку. Это указывает более широкому сообществу, что вы нашли решение и дали некоторую репутацию как самому, так и самому себе. Это не обязательно. –