我有一个代码库通过正在使用的Django smart_str
方法:有没有办法用Python原生解决方案替换Django的smart_str?
for p in pro:
print smart_str(p["title"])
我想用原来的Python的解决方案来替代它,而不里面涉及Django的,但我不知道什么smart_str
究竟做:
smart_str(s, encoding='utf-8', strings_only=False, errors='strict')
()的别名上Python 2和smart_text()此 函数返回一个STR或懒惰字符串。
和
smart_bytes(s, encoding='utf-8', strings_only=False,errors='strict')
返回s的字节串的版本,编码 如在编码指定。
如果strings_only为True,则不要转换(某些)非类字符串的对象。
我们可以用print unicode(u'\xa1').encode("utf-8")
来代替吗?
这是*“Python自身” *请参阅[源代码](https://github.com/django/django/blob/92053acbb9160862c3e743a99ed8ccff8d4f8fd6/django/utils/encoding.py)。它处理的事件多于您建议的替代方案。 – jonrsharpe
我明白了,所以我只是将'smart_byte'和'force_byte'函数的代码复制为独立于django –
此外,您还需要实现(或至少提供一个虚拟)'django.utils.functional.Promise'按原样使用它们。 – jonrsharpe