gpt4 book ai didi

django - `__unicode__()` 添加在 Django 教程中的基本轮询应用程序中不起作用

转载 作者:行者123 更新时间:2023-12-04 14:31:14 24 4
gpt4 key购买 nike

在安装了 Django 的开发源代码以及来自源代码的 PostgreSQL 以及来自源代码的所有其他需要的东西后,我正在学习 Django 教程。我正在尝试在 Ubuntu 12.10 上使用 python3 而不是 python 来做所有事情。

一切似乎都很顺利,直到我到达教程中我们应该重新定义的部分 __unicode__()为了在我们从表中请求 objects.all() 时返回合理的结果。它根本不起作用。我决定试试 __str__() ,它奏效了!

但是,教程解释了我们不应该重新定义 __str__() .那么,我安装的 __unicode__() 有什么问题? __str__() 时不起作用做?教程中的其他方法工作正常。

最佳答案

字符串在 Python 3 和 2 中的处理方式不同。

2、__str__()返回字节,而 __unicode__()返回的字符。 3、__str__()现在返回字符,因为字符串现在是原生的 unicode,并且 __unicode__()不存在。如果您真的需要 __str__() 的旧 2 行为,相信现在是__bytes__() .

简短的回答,坚持 __str__()如果您使用的是 Python 3,并且意识到 Django 教程明确声明它们是为 2.x 编写的,那么就会存在差异。

关于django - `__unicode__()` 添加在 Django 教程中的基本轮询应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com