gpt4 book ai didi

django - 如何让 Django 从 unicode 字符创建 slug?

转载 作者:行者123 更新时间:2023-12-04 14:49:15 25 4
gpt4 key购买 nike

Django Unicode Slug 如何?

class NewsModel(models.Model):
title = models.CharField(max_length = 300)
slug = models.CharField(max_length = 300)
content = models.TextField()
def save(self,*args, **kwargs):
if self.slug is None:
self.slug = ???
super(NewsModel, self).save(*args, **kwargs)

def get_absolute_url(self):
return reverse("news_view", kwargs = {"slug" : self.slug, } )

最佳答案

为此,Django 提供了一个函数:

In [11]: from django.template.defaultfilters import slugify
In [13]: slugify(u'ç é YUOIYO ___ 89098')
Out[13]: u'c-e-yuoiyo-___-89098'

但实际上您最好使用 prepopulated_fields参数和 SlugField .

编辑:

这似乎是一个重复的问题,另一个 OP 中提出的答案效果很好。首次安装 unidecode , 然后:
In [2]: import unidecode
In [3]: unidecode.unidecode(u"Сайн уу")
Out[3]: 'Sain uu

您可以将其传递给 slugify。

如果您正在寻找 unicode caractèers slugs,您可以使用 mozilla/unicode-slugify
In [1]: import slugify
In [2]: slugify.slugify(u"Сайн уу")
Out[3]: u'\u0441\u0430\u0439\u043d-\u0443\u0443'

结果是 http://example.com/news/сайн-уу

关于django - 如何让 Django 从 unicode 字符创建 slug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9886078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com