2016-04-28 24 views
0

私はDjango-taggitのチュートリアルを試しましたが、何らかの理由でそれらがすべてAdminを使ってタグを追加する方法を示しています。 Modelのインスタンスを作成しているときに、Viewとテンプレートを使ってタグを追加することはできますか?または既存の商品にのみタグを追加する必要がありますか?最近のDjango-Taggitのチュートリアルはありますか、私はタグのためのより良いアプリですか?Django-Taggitでタグを追加する

答えて

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> 
+0

こんにちはベストバージョン、もしあなたの質問が解決されたら、[同意する](http://meta.stackexchange.com/q/5234/179419)をチェックしてください。これは、あなたが解決策を見つけ出し、回答者とあなた自身の両方に評判を与えていることを広範なコミュニティに示します。これを行う義務はありません。 –

関連する問題