Django添加方法__unicode__()无效 的解决办法
来源:互联网 发布:foxpro是什么软件 编辑:程序博客网 时间:2024/06/05 20:32
初学Django,按照教程添加__unicode__()方法后不工作,还是显示默认的内容,教程是这么说的
为什么是 __unicode__() 而不是 __str__()?
如果你熟悉 Python,那么你可能会习惯在类中添加 __str__() 方法而不是 __unicode__() 方法。 We use 我们在这里使用 __unicode__() 是因为 Django 模型默认处理的是 Unicode 格式。当所有存储在数据库中的数据返回时都会转换为 Unicode 的格式。
Django 模型有个默认的 __str__() 方法 会去调用 __unicode__() 并将结果转换为 UTF-8 编码的字符串。这就意味着 unicode(p) 会返回一个 Unicode 字符串,而 str(p) 会返回一个以 UTF-8 编码的普通字符串。
如果这让你感觉困惑,那么你只要记住在模型中添加 __unicode__() 方法。 运气好的话,这些代码会正常运行。
思考了下可能是因为在python3.0以后默认字符都改成了unicode,导致这个在2.7下可以运行的方法在3.0中失效。
直接换成__str__() 运行正常。
(google了下没结果,写篇帖子留记录)
- Django添加方法__unicode__()无效 的解决办法
- django中的__unicode__()
- Git .gitignore 添加后无效的解决办法
- String的trim()方法无效的解决办法
- 【django】 models.py中插入函数__unicode__()
- 新手学django大坑之__unicode__
- JSplitPane的setDividerLocation方法设定无效解决办法
- django migrate无效的解决方法
- removeMovieClip 无效的解决办法
- SESSION 无效的解决办法
- gitignore无效的解决办法
- checkSelfPermission 无效的解决办法
- 无效指针的解决办法
- .gitignore 无效的解决办法
- QTableView派生类重载dropEvent方法无效的解决办法
- rails中validates_confirmation_of验证方法无效的解决办法
- android中setVisibility方法无效的可能原因与解决办法
- 关于new Date()方法在IE8下面无效的解决办法
- AD10 开始PCB项目
- 四大驱动—触模屏(内核模块小例子3封装成函数)
- windows常见编程错误1头文件的错误
- Repeater控件里的大智慧
- 搭建DHCP服务器
- Django添加方法__unicode__()无效 的解决办法
- Android NDK 开发环境搭建
- JavaScript面向对象学习小结
- OCP-1Z0-052-V8.02-115题
- java一个通用的 map排序函数
- 四大驱动之-触摸屏(小例子-裸版2)
- php header Content-Type类型小结
- QTableWidget设置网格线粗细 单元格中添加控件并居中
- 二叉树前序、中序、后序遍历相互求法及有关代码实现