Django Slugfield删除文章(“ the”,“ a”,“ an”,“ that”)

Segunolalive

我正在使用django 1.10,我有以下设置:

class Chapter(models.Model):
    title = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(unique=True)
    date_completed = models.DateTimeField(blank=True, null=True)

    completed = models.BooleanField(default=False)

    def __str__(self):
        return self.title

在管理员中,我有:

class ChapterAdmin (admin.ModelAdmin):

    list_display = ('title','slug', 'date_completed',)
    list_filter = ['title', 'date_completed']
    prepopulated_fields = {"slug": ("title",)}

我注意到,当我创建一个标题为“男孩与猪”的章节时,会遇到“男孩与猪”的问题。Django正在从我的头条中剥离这些文章。为什么会这样,解决方法又如何呢?

钉子

为什么会这样呢?

好吧,这是Django中Slugfield的默认行为为什么会这样呢?因为通常,它被认为对SEO更好

(我说过考虑过,因为链接的文章提到这可能是过时的想法。前提是文章等通常被认为是停用词,一种语言中最常见的词;它们是如此普遍,以至于对搜索没有帮助。引擎进行索引,因为它们在大多数(如果不是全部)标题中都具有特色。)

怎么回事?

首先-您为什么解决它?用例是什么?

但是,如果您感到满意,那么您真的很想这样做,那就很简单了:

from django.template.defaultfilters import slugify
would_be_slug = 'This is one of those rarest of things: A blog that uses article.'
slugify(would_be_slug)
>>>u'this-is-one-of-those-rarest-of-things-a-blog-that-uses-article'

这个答案对重写标准字段和slugfields有一些很好的建议

还有一个不错的软件包,如果您不想自己动手,它将为您完成此任务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章