2013-07-29 25 views
5

tôi đang cố gắng nàynhận được lỗi với django slugify

from django.utils.text import slugify 

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

In [9]: slugify(mystr) 

và tôi đang nhận được lỗi này

TypeError: must be unicode, not str

nếu tôi sử dụng này

from django.template.defaultfilters import slugify sau đó nó hoạt động nhưng nó không chnage underscores đến hyphens và nếu tôi có dots, việc này đơn giản sẽ xóa nó

Trả lời

5

Điều này là do slugify() mong đợi đối tượng unicode.

Cách đơn giản nhất để giải quyết nó được đi qua các chuỗi như một đối tượng unicode

mystr = u'This is John' 

hoặc

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

Đối với người tìm kiếm tương lai ... Câu trả lời này chỉ liên quan trong Python 2. Không có unicode() trong Python 3 và tất cả các chuỗi là Unicode trong Python 3. – Patrick

Các vấn đề liên quan