我应该等待 Django 开始支持 Python 3 吗?

Posted

技术标签:

【中文标题】我应该等待 Django 开始支持 Python 3 吗?【英文标题】:Should I wait for Django to start supporting Python 3? 【发布时间】:2011-05-15 06:53:07 【问题描述】:

我有一个令我非常兴奋的网站创意,而且我喜欢 Python。所以,我对使用 Django 很感兴趣。不过,我是从 3.1 版本开始学习 Python,而 Django 目前只支持各种 2.x 版本。我搜索了有关 Django 何时开始支持 Python 3.x 的信息,并且得到的大多是一两年前的文章,说这需要一两年的时间。同时,Django FAQ 说没有立即的计划。

我不愿意在旧版本的 Python 中构建,然后要么坚持使用它,要么在以后尝试迁移时经历巨大的考验。我最初的解决方案是开始学习 php,然后选择一个框架,但事实证明我并不喜欢 PHP。那么是 Django。

如果我决定等待兼容 3.x 的版本,我可以同时自学更多前端 Web 开发(以及更多 Python)。我只在这个领域工作了几个月,所以我有很多东西要学。但我不想永远等待,而且我意识到即使在兼容 3.x 的版本出来之后,第三方 API 也需要一段时间才能赶上。大家有什么推荐的?

【问题讨论】:

【参考方案1】:

没有。不要等待。

为什么? 几乎所有的 django 库都是为 Python 2.x 编写的,如果你打算在 Python 3 中使用它们中的任何一个和 Django 的下一个主要版本,那么你等待的不是 1 而是 3 -4 年,每个人都开始转换他们的代码。

在这段时间里,你可能已经掌握了 django,可以工作并启动许多网站,可以有 Django 演出,等等。

立即开始,不要拖延!

【讨论】:

相当准确,因为 Django 1.5 有实验性支持,而 1.6 计划提供全面支持。现在是 2013 年!不错的预测。【参考方案2】:

我建议你现在就学习旧版本的框架,到时候让2to3去解决。

【讨论】:

【参考方案3】:

Python 2 仍将存在很长时间。实际上,现在没有真正好的理由使用 Python 3,除非您需要 Python3 功能,这些功能在 future 导入中不可用,并且知道您永远不需要使用可能不需要的 3rd 方模块Python3 兼容。

因此,最好的解决方案是现在使用 Python 2 来开发您的应用,而不是等待;特别是如果该应用现在对你有用。

【讨论】:

以上是关于我应该等待 Django 开始支持 Python 3 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中运行另一个脚本而不等待它完成? [复制]

Python Django-REST框架和Angularjs的文件夹结构

如何从 Django 发送异步 HTTP 请求并在 python2.7 中等待结果?

Python / Django 应用程序:带有过滤菜单的酒单。过滤逻辑应该去哪里?前端还是后端?

Django模板中的Python [关闭]

python测试开发django-1.开始hello world!