一、Django框架介绍
一、Django框架介绍
1.1 框架背景
要学习一个框架,了解它的诞生,背景,特点是必不可少的。只有对框架有足够多的了解才能确定这个框架是否适合你自己,当然实践是最好的老师,不能仅凭我一面之词来断定框架是否是自己的菜,希望每个人都能够去尝试一下Django框架。
起初Django是作为管理劳伦斯集团旗下一些以新闻内容为主的网站,也就是一个内容管理系统,在django admin组件中有体现,后来被发布成一个开源软件,现在的Django已经成为Python中最流行的Web框架之一。
1.2 特点或特性
django有哪些特点,大部分人在接触一个新的框架时,都是好奇心驱使,是一个对python语言探索的过程,但是要能够长期坚持学习或使用这个框架,那这个框架一定有足够吸引人的特性。
下面我将列举一些对我来说比较有用的特性和特点
1. 生态非常成熟
Django诞生已经接近20年,并且一直拥有不错的关注度,加之框架本身对插件开发非常友好,所以社区诞生了非常多适用于各种场景的第三方包,如django-crispy-forms (高效的渲染bootstrap风格等的表单),django-allauth (为网站提供第三方登录功能),更多的我在这里就不列举了,更多可以前往Awesome Django ,在后续的文章中我会用一定的篇幅为大家讲述部分常用第三方库的使用。
- 利用djangorestframework可以开发restful服务
- 使用channels可以让django提供基于asgi框架的异步websocket服务
- 搭配celery轻松实现异步任务
以上是Django使用第三方插件为django提供扩展的部分示例。
2. 开发效率高
可能很多人认为Django是一个很”重“的框架,诚然,这确实是Django的一个问题,但是这并不意味着Django开发效率低下,与之相反的,Django在有众多工具的加持下在大多数项目下有着不俗的表现,Django内置有认证模块,可以在仅编写部分前端模板的情况下实现认证模块,并且内置有django admin这样的内容管理后台,在定义完模型(表)后进行简单注册即可进行内容管理。
3. 安全稳定并且错误提示友好
Django经过接近20年的发展,最新版本为4.0.6,有非常多的企业正在生产环境中运行Django,其中不乏Instagram, National Geographic, Open Stack等知名网站,在安全稳定性方面早已得到认可。
在安全性方面我就直接引用来自官方网站的说明。
跨站脚本(XSS)保护
跨站请求伪造(CSRF)保护
SQL注入保护
点击劫持保护
SSL/HTTPS
主机头验证
推荐人政策
跨域开启策略
会话安全
…
以上安全性举措均默认开启,在需要时可自行进行配置,最大限度对网站安全进行保护。
在开发过程中难免会出现各种错误,Django在错误提示方面在我接触到的大多数框架中算做的出众的,无论是数据库错误,配置错误都能有较为友好的提示,部分错误进行百度也能解答,如果有Django的问题可以留言或者直接与我交流。
4. 框架思想更强
观察一个新建Django项目(使用Pycharm专业版)的结构就不难看出,
5. 文档完善
经过接近20年的发展,文档提供了基础学习的文章和完善的API,并且提供包括中文在内的主流语言支持。
6. 内置Orm框架
拥有了Orm框架,就可以自己通过操作Python对象的方式来实现对数据库的操作,不用系统学习sql语言也能够开发出复杂数据交互功能的网站,同时Django的orm系统也与django的各组件深度结合,如django amdin可以快速实现一个内容管理的后台,利用django内置的视图类能够轻松的实现增删改查的功能。
1.3 如何学好Django
在编程领域,并没有数学科学领域的天赋异禀,有的只是谁愿意花更多的时间,更能耐得住寂寞。
兴趣永远是最好的老师,希望每个人都能够对Django有足够的兴趣。
我认为学习必须是由浅及深的,如果在兴趣刚产生的时候接触到非常困难的内容,那一定会产生不必要的畏难情绪。所以一定要从HelloWorld开始,不要好高骛远。
希望在后续的文章中,我能做到由浅入深,如果有问题的地方请即时指出。
一、Django框架介绍相关推荐
- Django框架介绍及配置
Django框架介绍及配置 一, WEB框架介绍 1.1Web应用程序处理流程 1.2Web框架程序的意义 用于搭建Web应用程序 免去不同Web应用相同代码部分的重复 1.3 Web应用程序的本质 ...
- python框架django文档_Django基础——Django框架介绍及模板语言
Django框架,我们只需要关心二点: 1.根据用户访问不同的路径执行不同的函数 2.从HTML读取出内容,并且完成字符串的替换 而socket通信不需要我们自己写: 新建Django项目 命令行创建 ...
- Django框架介绍 day01
再说Django之前先来说一下什么是web应用 软件开发架构 c/s架构 客户端 服务端 b/s架构 浏览器 服务器 本质:b/s架构其实也是c/s架构 HTTP协议 超文本传输协议:规定了客户端与服 ...
- Django框架介绍之cookie与session
cookie http请求时无状态的,一个客户端第一次,第二次,第n次访问同一个服务器都是一样的,服务器都会按照一个新的连接处理.但是,有时候客户端需要服务器记住客户端的登录状态,譬如离开一会,回来之 ...
- 【django轻量级框架】Django框架介绍与安装
- Python学习笔记--10.Django框架快速入门之后台管理admin(书籍管理系统)
Python学习笔记--10.Django框架快速入门之后台管理 一.Django框架介绍 二.创建第一个Django项目 三.应用的创建和使用 四.项目的数据库模型 ORM对象关系映射 sqlite ...
- Django框架的电商商城的设计与实现python语言
摘要 随着计算机技术,网络技术的迅猛发展,Internet 的不断普及,网络在各个领域里发挥了越来越重要的作用.特别是随着近年人民生活水平不断提高,电商商城给商家的业务带来了更大的发展机遇. 在经济 ...
- 基于Python仓库管理系统的设计与实现django框架
摘 要 随着信息化时代的到来,系统管理都趋向于智能化.系统化,仓库管理系统也不例外,但目前国内的有些公司仍然都使用人工管理,公司规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化, ...
- 初识Django框架
文章目录 初识Django框架 python三大主流web框架介绍 Django框架介绍 Django基本操作 创建一个django项目 应用解释 主要文件介绍 命令行与pycharm创建的区别 dj ...
最新文章
- String insert()总结
- python 月活_TikTok用户月活超1亿意味着什么?什么是月活用户?
- yarn下载依赖慢的解决方法
- Idea新建modules后无法自动导入pom.xml
- linux 关闭自动升级,开启关闭Centos的自动更新(转)
- 转:10分钟掌握XML、JSON及其解析
- TEST ON 平安夜
- My Job Exceptation
- java quartz job_java quartz job 执行时间配置
- 机器学习入门概念--心血总结--史上最强--入门必读--回味无穷
- Mysql - 开发技巧(二)
- android开发代码实现对Apk签名,如何对apk进行签名
- 神奇的口袋(动态规划)--算法学习
- commvault xtrabackup全实例备份失败 处于未决状态
- Django短信和邮箱注册、支付宝沙箱的使用
- NVME协议-NVME概述
- 浙江高中计算机课程表,浙江省普通高中学校课程安排参考表
- 1602实现计算机实验报告,1602实验报告资料.doc
- 迈来芯melexis氛围灯芯片批量烧录程序解决方案,支持Fast LIN,速度媲美官方烧录器!...
- 求职OMG——大学生就业指导与技能开发 第一章测试