Question

I am trying this

from django.utils.text import slugify

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

In [9]: slugify(mystr)

and i am getting this error

TypeError: must be unicode, not str

if i use this

from django.template.defaultfilters import slugify then it works but it does not chnage underscores to hyphens and if i have dots it simple removes it

Était-ce utile?

La solution

This is because slugify() expects a unicode object.

The easiest way to solve it is passing the string as a unicode object

mystr = u'This is John'

or

mystr = unicode('This is John')
>> u'This is John'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top