草庐IT

Django版本选择、Python兼容问题及更新时间(长期更新)

安顿068 2023-06-21 原文

先说结果

  • LTS是长期支持(Long Term Support)的缩写,是官方长期维护的稳定版本,生产环境建议使用LTS版本,最好最好最好不要尝试其他小更新小修补的版本,不做小白鼠;
  • LTS通常是2年内的单数年4月份更新一次,单次版本维护时间通常是3年;
  • Django版本与Python版本选择
Django版本起始维护时间Python版本
1.11(LTS)2017.4—2020.42.7、3.4、3.5、3.6、3.7 (added in 1.11.17)
2.2(LTS)2019.4—2022.43.5、3.6、3.7、3.8(在 2.2.8 中添加)、3.9(在 2.2.17 中添加)
3.2(LTS)2021.4—2024.43.6、3.7、3.8、3.9、3.10(在 3.2.9 中添加)
4.2(LTS)2023.4—2026.43.9、3.10

django版本标识

我们需要事先了解关于django的三个版本标识

1、功能发布的版本号如何标识?
版本号一般是A.B或者A.(B+1)格式,例如2.x系列版本有2.1/2.2等版本,代表2版本下更新的版本。这些版本的更新频率是8个月左右,更新内容基本都是新功能,改进现有功能等。

2、LTS版本
LTS是长期支持(Long Term Support)的缩写,某个特性版本将被指定为长期支持(LTS)版本。这些版本将对导致安全性和数据丢失的bug进行修复,支持时间通常三年。
| Django版本 | 起始维护时间	   | Python 版本                 |
| --------- | --------------|---------------------------- |
| 1.11(LTS) | 2017.42020.4 | 2.73.43.53.63.7 (added in 1.11.17) |
| 2.2(LTS)	| 2019.42022.4 | 3.53.63.73.8(在 2.2.8 中添加)、3.9(在 2.2.17 中添加)|
| 3.2(LTS)	| 2021.42024.4 | 3.63.73.83.93.10(在 3.2.9 中添加)|
| 4.2(LTS)	| 2023.42026.4 | 3.93.10 |
一般是2年内的单数年更新一次LTS大版本,基本都是在4月份更新,单次版本维护时间通常是3年;

3、补丁版本的版本号如何标识?
版本号一般是:A.B.C格式的,例如1.8.181.9.2等最后一位数字代表的版本号的就是补丁版本了。这些版本的发布,是为了修正错误或安全问题。这些版本将100%兼容相关的主版本,因此我们应该保持升级到最新的补丁版本,以保证数据的完整和安全。

综上所述,最新的LTS版本,而且补丁版本也是要最新的,是最好的选择

django版本更新时间表


示例:1.11(LTS) 版本的维护时间是 2017.4到2020.4;
小版本的更新时间通常是8个月,如2.1到2.2版本的更新时间是2017年12月到2018年的10月,此类版本更新内容基本都是新功能,改进现有功能等。

django详细版本与python版本对照表(长期更新)

Django 版本Python 版本
1.11(LTS)2.7, 3.4, 3.5, 3.6, 3.7 (added in 1.11.17)
2.03.4, 3.5, 3.6, 3.7
2.13.5, 3.6, 3.7
2.2(LTS)3.5、3.6、3.7、3.8(在 2.2.8 中添加)、3.9(在 2.2.17 中添加)
3.03.6、3.7、3.8、3.9(在 3.0.11 中添加)
3.13.6、3.7、3.8、3.9(在 3.1.3 中添加)
3.2(LTS)3.6、3.7、3.8、3.9、3.10(在 3.2.9 中添加)
4.03.8、3.9、3.10
4.2(LTS)3.9、3.10

示例:django的版本使用的是2.2LTS,所以搭配python3.5之后的解释器

如果多个LTS同时在周期内,选最新的LTS
如果最新的LTS已经过去1/2了,选择当前最新版本,并适时切换到下个LTS。
如果项目运行在某个LTS,除非无法修复和规避的安全漏洞,就一直用下去。

看各个Django版本官方支持部分的截止日期,最好在截止前1年完成版本切换。如果新的Django项目,建议Django 3.2,官方支持到2024年。

安装

pip3 install django==2.2  # 在命令行执行该命令

参考:
官方:https://docs.djangoproject.com/en/4.0/faq/install/
https://zhuanlan.zhihu.com/p/151364417
https://www.zhihu.com/question/308080248

有关Django版本选择、Python兼容问题及更新时间(长期更新)的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby-on-rails - 如何验证 update_all 是否实际在 Rails 中更新 - 2

    给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru

  3. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  4. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  5. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  6. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  7. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  8. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  9. ruby-on-rails - 在 ruby​​ .gemspec 文件中,如何指定依赖项的多个版本? - 2

    我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这

  10. ruby-on-rails - Ruby 检查日期时间是否为 iso8601 并保存 - 2

    我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby​​是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查

随机推荐