Menu Close

Python Django

在学习Django之前,让我们了解一下:

什么是Web框架?

Web框架是一个代码库,可帮助您构建灵活,可伸缩和可维护的代码。动态网站,Web应用程序和Web服务

什么是Django?

Django是适用于Python的网络开发框架,它提供了快速有效的网站开发的标准方法。它可以帮助您帮助构建和维护高质量的Web应用程序。它使您可以使开发过程顺利且节省时间。

这是一个高级Web框架,可以执行快速开发。该Web框架的主要目标是创建复杂的数据库驱动的网站。

为什么选择Django?优势

使用Django的主要原因:

  • Django易于设置和运行。它提供了多种入门选项
  • 它为管理活动提供了现成的用户界面
  • 内置的国际化系统来启用多语言网站
  • 帮助您快速满足庞大的流量需求
  • Django用于构建所有类型的内容管理系统,社交网络以及科学计算平台。
  • Django可帮助您提供端到端应用程序测试
  • 帮助您使用HTML输出记录API
  • REST框架对多种身份验证协议提供了丰富的支持
  • 权限策略
  • 广泛用于限制单个用户的API请求

Django的历史

  • 该项目由Adian Holovaty和Simon Willison于2003年在劳伦斯日报-世界报纸上作为内部项目启动
  • 它于2005年7月发行,名称为“ Django”,以爵士吉他手Django Reinhard的名字命名
  • 在2008年6月,宣布Django软件基金会(DSF)将维护Django。
  • Django 1.1版本于2009年7月29日发布,具有诸如聚合,基于事务的测试之类的功能。
  • Django 1.2版本于2010年5月17日发布。此版本提供了多个数据库之类的功能,电子邮件后端的实现以及对会话和cookie的改进。
  • 2011年3月23日,引入了1.3版本,该版本具有基于类的视图,静态文件等功能
  • 2012年3月23日,发布了1.4版本,其中包含时区和浏览器内测试等新功能
  • 2013年11月6日,1.6版附带数据库事务管理和连接池功能。
  • 2014年9月2日。1.7版具有新功能,例如应用程序负载,迁移和配置
  • 2015年12月1日,引入了1.9版本的自动密码验证功能。
  • 2016年8月1日,在PostgreSQL的1.10版本中启动了全文搜索。
  • 2017年4月4日,1.11版成为支持Python 2.7的最后一个版本
  • 自2017年12月2日起,版本2.0成为第一个仅Python 3发布版本。
  • 2018年8月1日,版本2.1附带了模型“查看”权限支持功能。
  • 2019年9月10日,版本3.0
  • 2020年8月4日,版本3.1
  • 2021年4月1日,版本3.2

Django的功能

  • 帮助您定义应用程序中URL的模式
  • 简单但功能强大的URL系统
  • 内置认证系统
  • 面向对象的编程语言数据库,可提供一流的数据存储和检索
  • 自动管理界面功能允许添加,编辑和删除项目的功能。您可以根据需要自定义管理面板。
  • 缓存框架带有多种缓存机制。

Django的特点

  • 松散耦合-Django帮助您使堆栈中的每个元素独立于其他元素。
  • 更少的代码-确保有效的开发
  • 不重复-一切都应该在一个地方开发,而不是再重复一次
  • 快速开发-Django提供了快速而可靠的应用程序开发。
  • 一致的设计-Django保持整洁的设计,并易于遵循最佳的Web开发实践。

Django体系结构:MVC和MVT

%title插图%num

MVC模式:

在谈论提供UI(Web或桌面)的应用程序时,我们通常谈论MVC架构。MVC模式基于模型,视图和控制器。

模型定义了数据结构,并负责查询数据库。

查看哪些数据应提交定义并返回一个HTTP响应。

控制器是用于处理用户交互的应用程序的部分。

Django MVC-MVT模式

与MVC相比,模型视图模板(MVT)是一个不同的概念。这两种架构模式之间的主要区别在于Django本身管理Controller部件(控制模型与View之间的交互的软件代码)。模板是一个HTML文件,与Django模板语言文件(也称为DTL)混合在一起。

下图显示了MVT模式的所有组件如何相互交互以特定于用户请求进行服务。

%title插图%num
MVT架构

如上图所示,用户向Django请求资源。Django充当控制器,并检查URL中的可用资源。

如果URL映射,则将调用一个与模型和模板交互的视图。然后,Django响应用户并发送模板作为响应。

Django的组件

表单:

Django有一个功能强大的表单库,可以将表单呈现为HTML。该库有助于验证提交的数据并将其转换为Python类型。

认证:

它处理用户帐户,组,基于cookie的用户会话等。

管理:

它读取模型中的元数据以提供健壮的界面,可用于管理网站上的内容。

国际化:

Django提供了将文本翻译成各种语言,日期,时间,数字和时区的特定于区域设置的格式的支持。

安全:

Django提供了针对以下攻击的防护措施:

  • 跨站请求伪造(CSRF)
  • 跨站脚本
  • SQL注入
  • 点击劫持
  • 远程执行代码

使用Django的公司

以下是使用Django的公司:

  • google
  • youtube
  • Instagram
  • Mozilla

使用Django的缺点

  • 一个进程不能同时处理多个请求。
  • Django是一个非常单一的工具。
  • 组件部署在一起可能会造成混乱。
  • 在Django上工作所需的完整系统知识
  • 使Web应用程序组件紧密耦合
  • 您需要对次要任务进行冗长的编程。

 

python系列教程目录

Posted in Python

发表评论

相关链接