django slugify 出错

Posted

技术标签:

【中文标题】django slugify 出错【英文标题】:getting error with django slugify 【发布时间】:2013-07-28 18:27:39 【问题描述】:

我正在尝试这个

from django.utils.text import slugify

In [8]: mystr = "This is john"

In [9]: slugify(mystr)

我收到了这个错误

TypeError: must be unicode, not str

如果我用这个

from django.template.defaultfilters import slugify 然后它可以工作,但它不会将underscores 更改为hyphens,如果我有dots,它会简单地删除它

【问题讨论】:

【参考方案1】:

这是因为 slugify() 需要一个 unicode 对象。

解决它的最简单方法是将字符串作为 unicode 对象传递

mystr = u'This is John'

mystr = unicode('This is John')
>> u'This is John'

【讨论】:

对于未来的搜索者...此答案仅与 Python 2 相关。Python 3 中没有 unicode() ,Python 3 中的所有字符串都是 Unicode。

以上是关于django slugify 出错的主要内容,如果未能解决你的问题,请参考以下文章

博客类别 Slugify 在 Django 中不起作用

python python django slugify

Django slugify url - 如何处理冲突?

在 django 中使用 slugify 后的详细页面错误

django slugify 俄语字符串 [重复]

Django 抽象父模型保存覆盖