2024-11-07 07:24:02
导读:本篇文章首席CTO笔记来给大家介绍有关django最新版本是什么意思的相关内容,希望对大家有所帮助,一起来看看吧。
Django框架是什么?Django是基于Python的免费和开放源代码Web框架,它遵循模型-模板-视图(MTV)体系结构模式。它由DjangoSoftwareFoundation(DSF)维护,这是一个由非营利组织成立的独立组织。
Django的主要目标是简化复杂的,数据库驱动的网站的创建。该框架强调组件的可重用性和“可插入性”,更少的代码,低耦合,快速开发以及不重复自己的原则。整个过程都使用Python,甚至用于设置文件和数据模型。Django还提供了一个可选的管理创建,读取,更新和删除界面,该界面通过自省动态生成并通过管理模型进行配置。
一些使用Django的知名网站包括公共广播服务,Instagram,Mozilla,华盛顿时报,Disqus,Bitbucket,和Nextdoor。
Django创建于2003年秋天,当时《劳伦斯日报》世界报纸的网络程序员AdrianHolovaty和SimonWillison开始使用Python来构建应用程序。西蒙·威利森(SimonWillison)的实习期结束前不久,雅各布·卡普兰·莫斯(JacobKaplan-Moss)在Django的发展中就被聘用了。它于2005年7月在BSD许可下公开发布。该框架以吉他手DjangoReinhardt的名字命名。2008年6月,宣布新成立的Django软件基金会(DSF)将来将维护Django。
2015年7月,与一些Django联合创始人和开发人员建立联系的软件咨询公司RevolutionSystems在劳伦斯举办了10周年纪念活动。
Django的设计理念如下:
松耦合——Django的目标是使堆栈中的每个元素彼此独立。
更少的编码——更少的代码,因此可以快速开发。
不重复自己(DRY)——一切都应该只在一个地方开发,而不是一次又一次地重复。
快速开发——Django的理念是尽一切可能促进超快速开发。
简洁的设计——Django严格按照自己的代码维护简洁的设计,并易于遵循最佳的Web开发实践。
Django的一些优势如下:
对象关系映射(ORM)支持——Django在数据模型和数据库引擎之间建立了桥梁,并支持包括MySQL,Oracle,Postgres等在内的大量数据库系统。
多语言支持——Django通过其内置的国际化系统支持多语言网站。因此,您可以开发支持多种语言的网站。
框架支持——Django内置了对Ajax,RSS,缓存和其他各种框架的支持。
GUI——Django为管理活动提供了一个很好的即用型用户界面。
开发环境——Django带有轻量级的Web服务器,以促进端到端应用程序的开发和测试。
Django是PythonWeb框架。和大多数现代框架一样,Django支持MVC模式。
关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。
django2.1和2.0区别希望采纳--
如果mysql数据表迁移有错,可退回2.0版本django
Django2.1?特性
Python版本支持
Python?版本要求3.5+,不再支持3.4。
模型权限:新增查看(view)权限
一直以来,Django?模型中只有?增加(Add)、删除(Delete)和编辑(Change)?三个默认的权限,没有单独的查看权限。新的?查看权限允许设置某一个模型为可读。
向前兼容性:如果用户取得了?修改(Change)权限,自然取得查看权限,无需再额外设置。
登录框架
contrib.auth.views?模块下所有的?函数视图(FBV)被移除,可以使用相应的?类视图(CBV)
安全
HttpResponse.set_cookie()?支持设置SameSite?属性
不再支持的数据
不再支持MySQL5.5及其以下、PostgreSQL9.3及其以下
其他更新
默认的jQuery?版本从2.3.3?更新至3.3.1
基于内存的缓存使用LRU?选择算法
ImageField?渲染的控件新增?accept="image/*"?属性
Model模型类支持init_subclass?重写
BooleanField?允许设置null=True,NullBooleanField?类可能在未来版本被移除
Django4.0正式发布,新的密码哈希器和Redis缓存后端Django4.0正式发布,4.0版本支持Python3.8、3.9和3.10。随着Django4.0的发布,Django3.2的主流支持已经结束。此版本主要有如下亮点:
重要更新
zoneinfo作为默认时区
Django3.2允许使用非pytz时区。Django4.0是zoneinfo作为默认时区:弃用pytz且将在Django5.0中删除它。zoneinfo是Python3.9标准库的一部分,如果你在使用Python3.8,则会自动安装zoneinfo包。
注意,如果你处于非utc(世界标准时间)时区,且在使用pytznormalize()和localalize()api,那你可能设置了TIME_ZONE,需要审查一下代码。4.x系列版本周期有一个过渡性的use_depreccated_pytz设置,允许从pytz慢慢过渡到zoneinfo,这个设置将在Django5.0中删除。
此外,zoneinfo作者创建的pytz_deprecation_shim包用于帮助从pytz进行迁移,这个包提供shims来安全地移除pytz,还有一个详细的迁移指南,展示如何移动到新的zoneinfoapi。渐进更新可以用pytz_deprecation_shim和use_depreccated_pytz这两个过渡设置。
函数的唯一约束
UniqueConstraint()的新*expressions位置参数可以在表达式和数据库函数上创建函数式唯一约束。例如:
使用该Meta.constraints选项将函数唯一约束添加到模型中。
增加scrypt密码哈希器
新的scrypt密码哈希器比PBKDF2更安全,建议使用。但它不是默认选项,因为它需要OpenSSL1.1以上版本和更多的内存。
Redis缓存后端
新的django.core.cache.backends.redis.RedisCache缓存后端为使用Redis缓存提供了内置支持。此功能需要redis-py3.0.0或更高版本。
基于模板的表单渲染
使用模板引擎渲染表单,如用于表单的render(),get_context()和template_name,用于表单集的五个渲染相关的属性和方法。
次要更新项:
django.contrib.admin
django.contrib.auth
django.contrib.gis
django.contrib.postgres
django.contrib.staticfiles
缓存
新的异步API:django.core.cache.backends.base.BaseCache开始使缓存后端异步兼容。新的异步方法都有a前缀的名称,例如aadd(),aget(),aset(),aget_or_set(),或adelete_many()。
以后a前缀一般会用于方法的异步变体。
CSRF
国际化
通用视图
DeleteView现在使用FormMixin,允许您提供一个Form子类,例如带有确认删除之类的复选框。
日志
管理命令
模块
请求和响应
信号
模板
测试?
Django4.0是一个超大版本更新,除了上述更新以外还包含一些功能的弃用,以及不向后兼容的更新项,完整版更新内容可在更新公告中查看。
django2.0和3.0的区别
区别不大,有几个函数变了,url()是在django1、django2中使用,并且在API文档中明确指出,在将来的版本中可能不推荐使用,他还有一个别名为re_path()。path()是django3中使用的函数,是url()的替代品。
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手DjangoReinhardt来命名的。2019年12月2日,Django3.0发布
django什么意思[编辑本段]概述
Django(发音:/?d???go?/)是用python语言写的开源web开发框架(opensourcewebframework),它鼓励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于2005年7月,并于2008年9月发布了第一个正式版本1.0。
Django根据比利时的爵士音乐家DjangoReinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。
[编辑本段]设计哲学
Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。
Django基于MVC的设计十分优美:
对象关系映射(ORM,object-relationalmapping)
以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。
URL分派
使用正则表达式匹配URL,你可以任意设计的URL,没有框架的特定限定。象你喜欢的一样灵活。
模版系统
使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。
表单处理
你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。
Cache系统
可以挂在内存缓冲或其它的框架实现超级缓冲--实现你所需要的粒度。
会话(session),用户登录与权限检查
快速开发用户会话功能。
国际化
内置国际化系统,方便开发出多种语言的网站。
自动化的管理界面
不需要你花大量的工作来创建人员管理和更新内容。Django自带一个ADMINsite,类似于内容管理系统。
[编辑本段]部署
Django可以运行在Apache上,也可以运行在支持WSGI,FastCGI的服务器上。支持多种数据库,已经支持Postgresql,MySql,Sqlite3。
目前,GoogleAppEngine也支持Django的某些部分。
[编辑本段]文档
Django1.0建立了强大完整的文档文档体系(),涵盖了Django的方方面面,并且适合各种水平的读者和开发者.其中还包含若干个简单的示例,你可以跟随他们一步步体验Django的优美。
结语:以上就是首席CTO笔记为大家介绍的关于django最新版本是什么意思的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。