Django2.0入门:第一章、Django是啥
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是啥的更多相关文章
- 《玩转Django2.0》读书笔记-Django配置信息
<玩转Django2.0>读书笔记-Django配置信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 项目配置是根据实际开发需求从而对整个Web框架编写相应配置信息. ...
- 《玩转Django2.0》读书笔记-Django建站基础
<玩转Django2.0>读书笔记-Django建站基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网站的定义及组成 网站(Website)是指在因特网上根据一 ...
- NHibernate.3.0.Cookbook第一章第六节Handling versioning and concurrency的翻译
NHibernate.3.0.Cookbook第一章第六节Handling versioning and concurrency的翻译 第一章第二节Mapping a class with XML ...
- JAVA 入门第一章(语法基础)
本人初学java 博客分享记录一下自己的学习历程 java我的初步学习分为六章,有c和c++的基础学起来也简便了很多. 第一章 语法基础 第二章 面向对象 第三章 常用工具类 第四章 文件操纵 第五章 ...
- 关于阮大神的es6标准入门第一章
题记:之前在10月份的时候写过阮大神的es6的第一章,但是由于那段时间项目组的动荡,所以也没有什么后续,导致我现在对es6基本都忘的差不多了,不过,现在换了新公司,最近也没什么任务,所以现在开始重新写 ...
- MySQL----MySQL数据库入门----第一章 数据库入门
第一章 数据库入门 1.1 数据库基础知识 1.1.1 数据库概述 数据不仅包括普通意义上的数字,还包括文字.图像.声音等.也就是说,凡是在计算机中用来描述事物的记录都可称作数据. 数据库的基本特点: ...
- RabbitMQ 消息队列 入门 第一章
RabbitMQ : 官网:https://www.rabbitmq.com/ GitHub:https://github.com/rabbitmq?q=rabbitmq 第一步安装: 点击 htt ...
- NHibernate.3.0.Cookbook第一章第五节Setting up a base entity class
Setting up a base entity class设置一个实体类的基类 在这节中,我将给你展示怎么样去为我们的实体类设置一个通用的基类. 准备工作 完成前面三节的任务 如何去做 1.在Ent ...
- Linux基础入门 第一章:Linux环境搭建——Redhat 6.4图文安装教程
1.创建新的虚拟机 2.选择自定义 3.选择Workstation 10.0 4.选择稍后安装操作系统 5.选择Red Hat 6 64位 6.对虚拟机命名和选择安装位置 7.选择处理器配置 8.选择 ...
随机推荐
- lightoj 1158 - Anagram Division(记忆化搜索+状压)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1158 题解:这题看起来就像是记忆搜索,由于s很少最多就10位所以可以考虑用状压 ...
- codeforces 743D. Chloe and pleasant prizes(树形dp)
题目链接:http://codeforces.com/contest/743/problem/D 大致思路挺简单的就是找到一个父节点然后再找到其两个字节点总值的最大值. 可以设一个dp[x]表示x节点 ...
- 洛谷P1661 & yzoj 1650 扩散 题解
题意 先讲一下一种容易陷入误区错误思路 要使时间最小,就去找相对于每个点的最短曼哈顿距离,然后取最大值,时间就是(maxn+1)/2. 代码 #include<cstring> #incl ...
- 一个简单的hibernate自动创建表
导入关键jar 举炉石传说卡片说明,Card.java Card.hbm.xml Card.java Card.hbm.xml <?xml version="1.0"?& ...
- unicode编码原理及问题
历史在1963年,计算机的使用尚不广泛,那时使用的是7-bit的ASCII码,范围为0-127作为字符的编码,只支持少部分的字符,但是随着计算机的普及,不同的国家地区开始自己制造自己的编码规范,这导致 ...
- 【Offer】[19] 【字符串匹配】
题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式. 模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含 ...
- Ansible实现批量管理服务器
Ansible介绍: a. ansible是一个基于Python开发的自动化运维工具b. ansible是一个基于ssh协议实现远程管理的工具c. ansible软件可以实现多种批量管理操作(批量系统 ...
- 基于SSM的在线考试系统
本系统功能非常完善,页面美观大方,技术新颖,选用主流数据库Mysql,表数量及结构适当,如果你需要做在线考试或者其它考试类系统,这个系统将非常有用. 其实,任何考试系统,无非试题不一样,所以如果你是做 ...
- IPv6地址存储
import java.util.Arrays; /** * @author: 何其有静 * @date: 2019/4/2 * @description: IPv6地址存储 * https://mp ...
- 前后端分类状态下SpringSecurity的玩法
前后端分离状态下,后端SpringSecurity该如何变动呢? 如何变动取决于前后端分离状态下,前后端交互的特点,纯json交互,闲言少叙,上干货 主配置类 @Configuration @Enab ...