use django-taggit for tags
This commit is contained in:
parent
97cc8c7008
commit
3f37ad5c31
|
@ -4,3 +4,4 @@ django-select2
|
|||
django-ckeditor<4.5.3
|
||||
django-haystack
|
||||
django-reversion
|
||||
django-taggit
|
||||
|
|
1
setup.py
1
setup.py
|
@ -103,6 +103,7 @@ setup(
|
|||
'django-ckeditor<4.5.3',
|
||||
'django-haystack',
|
||||
'django-reversion',
|
||||
'django-taggit',
|
||||
'requests',
|
||||
'whoosh',
|
||||
],
|
||||
|
|
|
@ -20,6 +20,7 @@ from django.utils.translation import ugettext_lazy as _
|
|||
|
||||
from ckeditor.fields import RichTextField
|
||||
import reversion
|
||||
from taggit.managers import TaggableManager
|
||||
|
||||
|
||||
@reversion.register
|
||||
|
@ -27,7 +28,8 @@ class Page(models.Model):
|
|||
title = models.CharField(_('Title'), max_length=200)
|
||||
slug = models.SlugField(_('Slug'))
|
||||
content = RichTextField(_('Text'))
|
||||
keywords = models.CharField(_('Keywords'), max_length=200, blank=True)
|
||||
tags = TaggableManager(_('Keywords'), blank=True,
|
||||
help_text=_('A comma-separated list of tags.'))
|
||||
|
||||
class Meta:
|
||||
ordering = ['title']
|
||||
|
|
|
@ -27,13 +27,16 @@ class PageIndex(indexes.SearchIndex, indexes.Indexable):
|
|||
text = indexes.CharField(document=True)
|
||||
text_auto = indexes.EdgeNgramField()
|
||||
slug = indexes.CharField(model_attr='slug', indexed=False)
|
||||
keywords = indexes.CharField(model_attr='keywords', boost=1.5)
|
||||
tags = indexes.CharField(boost=1.5)
|
||||
|
||||
def get_model(self):
|
||||
return Page
|
||||
|
||||
def prepare_text(self, obj):
|
||||
return obj.title + ' ' + obj.keywords + ' ' + HTMLParser().unescape(strip_tags(obj.content))
|
||||
return obj.title + ' ' + self.prepare_tags(obj) + ' ' + HTMLParser().unescape(strip_tags(obj.content))
|
||||
|
||||
def prepare_text_auto(self, obj):
|
||||
return self.prepare_text(obj)
|
||||
|
||||
def prepare_tags(self, obj):
|
||||
return ' '.join([tag.name for tag in obj.tags.all()])
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
<p class="keywords">
|
||||
{% trans 'Keywords:' %}
|
||||
{{ object.keywords }}
|
||||
{% for tag in object.tags.all %}{{tag}}{% if not forloop.last %}, {% endif %}{% endfor %}
|
||||
</p>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -44,6 +44,7 @@ INSTALLED_APPS = (
|
|||
'ckeditor',
|
||||
'haystack',
|
||||
'reversion',
|
||||
'taggit',
|
||||
'welco.sources.counter',
|
||||
'welco.sources.mail',
|
||||
'welco.sources.phone',
|
||||
|
|
Loading…
Reference in New Issue