首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >slugify函数的奇怪行为

slugify函数的奇怪行为
EN

Stack Overflow用户
提问于 2010-08-03 21:17:02
回答 2查看 297关注 0票数 0

它在管理站点上工作得很好。但是下面的代码在某些语言中不能正常工作(缺少一些字符,比如土耳其语的"ı")。

代码语言:javascript
复制
class Foo(models.Model):
    name = models.CharField(max_length=50, unique=True, db_index=True)
    slug = models.SlugField(max_length=100, unique=True, db_index=True)

    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(self.name)
        super(Foo, self).save(*args, **kwargs)

例如,让我们假设它的名称是"ışçğö“,然后slug变成了"scgo”,而它应该是"iscgo“。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-03 21:19:59

根据定义,这是SlugField行为。插件应该是URL的一部分。尽管URL可能支持非拉丁字符,但在slugs中不支持这些字符。

Slug是报纸上的一个术语。slug是某物的短标签,仅包含字母、数字、下划线或连字符。它们通常用在URL中。

你得到的结果与Django的行为不一致:

代码语言:javascript
复制
>>> from django.template.defaultfilters import slugify
>>> v = u"ışçğö"
>>> slugify(v)
u'isg'

你到底是从哪里得到这些结果的?

票数 1
EN

Stack Overflow用户

发布于 2010-08-05 09:43:37

尝试使用slughifi函数以获得更好的插件功能(感谢Markus向我展示了这一点)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3396809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档