【问题标题】:getting error with django slugifydjango 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,它会简单地删除它

【问题讨论】:

    标签: python django slug


    【解决方案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。
    猜你喜欢
    • 2011-08-08
    • 2014-02-18
    • 2018-05-04
    • 1970-01-01
    • 2021-09-19
    • 2016-07-10
    • 2010-12-02
    • 2013-05-17
    • 2017-03-24
    相关资源
    最近更新 更多