Django介绍

缘起

随着Python语言的兴起,越来越多的程序员开始转向这门语言的学习。在我们学习完Python基础之后,就可以选择利用Python这门语言进行Web应用开发。而众多Python Web框架中,不得不提的就是现在已经发行到2.x版本的Django。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django:Instagram,Mozilla,Bitbucket等,为什么这些知名网站都会使用Django来开发呢?没错,因为,Django能够以最快的速度和最小的代价构建和维护高质量的Web应用。

在讨论代码之前不得不提Django的发展历史,学习一项知识总要追根溯源(虽然以下历史有大量copy嫌疑,大家还是稍稍看看嘛),对Django知根知底使用起来比较放心嘛。

Django的历史

Django 是从真实世界的应用中成长起来的,它是由美国堪萨斯(Kansas)州Lawrence 城中的一个网络开发团队的。它诞生于2003 年秋天,那时Lawrence Journal-World 报纸的程序员Adrian Holovaty和Simon Willison开始用 Python 来编写Web新闻程序。新闻界独有的特点是快速迭代,从开发到上线,通常只有几天或几个小时的时间。

Django最初用来制作在线新闻Web站点,并于2005年加入了BSD(Berkeley Software Distribution)许可证家族,成为开源网络框架。2008年Django有了DSF(Django Software Foundation),Django的发展就由这个基金会来主导。

Django这一词语是根据比利时的爵士音乐家Django Reinhardt命名的,有希望Django能够优雅地演奏(开发)各种乐曲(Web应用)的美好含义。

Django的特点

要介绍Django的特点,跟Django的历史那就联系紧密了。这跟我们做人一样,你是什么样的人跟你从小到大的发展是息息相关滴。

1.做内容。Django出生于新闻网站的环境,所以诸多特点非常适合内容聚合类的网站,比如新闻、博客、电商,这些网站能够提供动态、数据库驱动的信息,所以Django适合在动态内容管理系统。

2.开源文化。Django不是一个科研项目或商业产品,来源于真实项目,Web项目开发的问题也是Django开发者经常遇到的问题,所以开源就是让大家集思广益解决这些问题,节约时间,不用重复造轮子。

经过Django数10年的发展,官网介绍官网的特点如上图:“Django makes it easier to build better Web apps more quickly and with less code.”

总的来说,Django已经具备以下特点:

  • 功能完善,容易上手,开发速度快,安全性强。
  • 完善的文档:Django有众多的应用和完善的在线文档
  • 强大的数据访问组件:Django的Model层自带数据库ORM组件,开发者无需学习其他数据库访问技术(DBI、SQLAlchemy等)。
  • 强大的URL映射技术:Django使用正则表达式管理URL映射,方便灵活。
  • 后台管理系统自动生成:自带完整的后台数据库管理Web控制台,用户可以基于此构建自己的后台管理模块。

介绍完这些特点,你是不是已经开始蠢蠢欲动了呢?

下一章我们将带领大家动手安装Django,然后你将看到一个成功的Django服务器启动。

Django2.0入门:第一章、Django是啥的更多相关文章

  1. 《玩转Django2.0》读书笔记-Django配置信息

    <玩转Django2.0>读书笔记-Django配置信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 项目配置是根据实际开发需求从而对整个Web框架编写相应配置信息. ...

  2. 《玩转Django2.0》读书笔记-Django建站基础

    <玩转Django2.0>读书笔记-Django建站基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网站的定义及组成 网站(Website)是指在因特网上根据一 ...

  3. NHibernate.3.0.Cookbook第一章第六节Handling versioning and concurrency的翻译

    NHibernate.3.0.Cookbook第一章第六节Handling versioning and concurrency的翻译   第一章第二节Mapping a class with XML ...

  4. JAVA 入门第一章(语法基础)

    本人初学java 博客分享记录一下自己的学习历程 java我的初步学习分为六章,有c和c++的基础学起来也简便了很多. 第一章 语法基础 第二章 面向对象 第三章 常用工具类 第四章 文件操纵 第五章 ...

  5. 关于阮大神的es6标准入门第一章

    题记:之前在10月份的时候写过阮大神的es6的第一章,但是由于那段时间项目组的动荡,所以也没有什么后续,导致我现在对es6基本都忘的差不多了,不过,现在换了新公司,最近也没什么任务,所以现在开始重新写 ...

  6. MySQL----MySQL数据库入门----第一章 数据库入门

    第一章 数据库入门 1.1 数据库基础知识 1.1.1 数据库概述 数据不仅包括普通意义上的数字,还包括文字.图像.声音等.也就是说,凡是在计算机中用来描述事物的记录都可称作数据. 数据库的基本特点: ...

  7. RabbitMQ 消息队列 入门 第一章

    RabbitMQ : 官网:https://www.rabbitmq.com/ GitHub:https://github.com/rabbitmq?q=rabbitmq 第一步安装: 点击  htt ...

  8. NHibernate.3.0.Cookbook第一章第五节Setting up a base entity class

    Setting up a base entity class设置一个实体类的基类 在这节中,我将给你展示怎么样去为我们的实体类设置一个通用的基类. 准备工作 完成前面三节的任务 如何去做 1.在Ent ...

  9. Linux基础入门 第一章:Linux环境搭建——Redhat 6.4图文安装教程

    1.创建新的虚拟机 2.选择自定义 3.选择Workstation 10.0 4.选择稍后安装操作系统 5.选择Red Hat 6 64位 6.对虚拟机命名和选择安装位置 7.选择处理器配置 8.选择 ...

随机推荐

  1. 自定义属性,innerHTML,outerHTML,dom节点的获取,className,tagName,更改或者是获取css属性

    01.自定义属性 1.自定义属性: 作用:保存数据 通用的自定义属性的前缀 data-属性="属性值" 注:自定义的属性不能通过 元素.属性 取属性值 ,需使用getAttribu ...

  2. 使用Elastic APM监控你的.NET Core应用

    作者:Jax 前言 在应用实际的运维过程中,我们需要更多的日志和监控来让我们对自己的应用程序的运行状况有一个全方位的了解.然而对于大部分开发者而言,平时大家所关注的更多的是如何更优雅的实现业务,或者是 ...

  3. 【3】Decision tree(决策树)

    前言 Decision tree is one of the most popular classification tools 它用一个训练数据集学到一个映射,该映射以未知类别的新实例作为输入,输出 ...

  4. WoSign新证书系统通过德国Cure53安全测试

    近日,沃通WoSign新证书系统顺利通过德国Cure53白盒子安全测试,并公开发布审计报告总结版. 据悉,根据去年10月份Mozilla提出的整改要求,沃通WoSign投入研发力量高标准严要求地重新开 ...

  5. ajax 发送json数据时为什么需要设置contentType: "application/json”

    1. ajax发送json数据时设置contentType: "application/json”和不设置时到底有什么区别? contentType: "application/j ...

  6. c语言实现配置文件的读写

    配置文件的格式如下: key1 = value1 key2 = value2 . . . 名值对以一个=链接,一条记录以换行符分割 头文件: #include<stdio.h> #incl ...

  7. 005 Python开发环境配置

    目录 一.概述 二.Python语言概述 2.1 Python语言的诞生 2.2 Monty Python组合 三.Python语言系统开发环境配置 四.Python程序编写与运行 4.1 Pytho ...

  8. linux下使用yum安装新版php7.0

    这两天又装了一下虚拟机,又要编译lnmp,还要弄各种拓展,很麻烦,能不能直接yum安装呢?答案是可以的! 1.首先要更新yum源,不然是默认的老版本,一般都在5.6及以下,但是php7都出来好久了,性 ...

  9. JS 转换日期UTC类型

    前台取到的日期类型为UTC,"yyyy-MM-dd'T'HH:mm:ss.SSS",后台接收报错如下: org.springframework.http.converter.Htt ...

  10. Docker竟然还能这么玩?商业级4G代理搭建实战!

    时间过得真快,距离这个系列的上一篇文章<商业级4G代理搭建指南[准备篇]>发布的时间已经过了两个星期了,上个星期由于各种琐事缠身,周二开始就没空写文章了,所以就咕咕咕了. 那么在准备篇中, ...