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.选择 ...
随机推荐
- codeforces 877 E. Danil and a Part-time Job(线段树(dfs序))
题目链接:http://codeforces.com/contest/877/problem/E 题解:显然一看就感觉要么树链剖分要么线段树+dfs序,题目要求的操作显然用线段树+dfs序就可以实现. ...
- 牛客小白月赛6 E 对弈 思维
链接:https://www.nowcoder.com/acm/contest/136/E来源:牛客网 题目描述 善弈者谋势,不善弈者谋子. ...
- C++临时变量的回顾思考以及librdkafka设置回调函数注意点
1 生命周期 如果仅仅是临时变量,并没有调用new来在堆上创建空间,那么注意 : 生命周期仅在该作用域中,即声明该临时变量的{}中: 2 使用(librdkafka C++回调使用) 在创建临时变量后 ...
- Visual Studio 调试 —— 附加到进程(远程服务器)
一般在部署环境下不会有 Visual Studio 开发工具的,所以需要有 Remote Debugger(远程调试器) 才可以进行远程调试. Remote Debugger 获取 方法一:Visua ...
- 字符串和Date互相转化
话不多说,上程序,如图: public class TestDate { public static void main(String[] args) throws ParseException { ...
- JSP四大作用域属性范围
JSP四大作用域分别为:page, request ,session, application . 第一个作用域是page,他只在当前页面有效,也就是用户请求的页面有效,当当前页面关闭或转到其他页面时 ...
- asp.net core webapi 统一处理返回值、异常和请求参数验证
现在的开发模式很少用asp.net mvc一个项目直接操作界面和数据库了.大部分都使用前后端分离,更多的是为了让API支持移动端. 后端写webapi的时候必然需要和前端约定请求值和返回值的格式,如果 ...
- Android开发教程:开发框架基本原理
1.提供应用程序框架(Framework) 开发者可以遵照这些框架搭建应用程序读者可以结合J2SE平台的Applet框架或J2ME平台的移动信息设备套件框架来理解Android平台的应用程序框架. 每 ...
- Jsp学习笔记(4)——分页查询
核心sql i是第几页,itemNum是每页显示的数据条数 select * from ( select e.*,rownum rn from ( select * from employee whe ...
- 【第十六篇】这一次要写的是bootstrap-table
先上图吧这就是效果图 上代码(这一部分是工具栏的,还包括slider滑动条) <div class="box-body"> <div class="ro ...