Django框架 简单介绍

本文地址: http://blog.csdn.net/caroline_wendy/article/details/29172271

1. 介绍

Django是一个开放源码的Web应用框架, 由Python写成.

採用了MVC的软件设计模式, 即模型M, 视图V和控制器C.

它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的站点的, 并于2005年7月在BSD许可证下公布.

这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的.

Django的主要目标是使得开发复杂的, 数据库驱动的站点变得简单.

Django注重组件的重用性和“可插拔性”, 敏捷开发和DRY法则(Don't Repeat Yourself).

在Django中Python被普遍使用, 甚至包含配置文件和数据模型.

Django于2008年6月17日正式成立基金会.

2. 组件

Django框架的核心包含:

一个面向对象的映射器, 用作数据模型(以Python类的形式定义)和关联性数据库间的媒介;

一个基于正則表達式的URL分发器;

一个视图系统, 用于处理请求;

一个模板系统.

核心框架中还包含:

一个轻量级的, 独立的Webserver, 用于开发和測试;

一个表单序列化及验证系统, 用于HTML表单和适于数据库存储的数据之间的转换;

一个缓存框架, 并有几种缓存方式可供选择;

中间件支持, 同意对请求处理的各个阶段进行干涉;

内置的分发系统同意应用程序中的组件採用提前定义的信号进行相互间的通信;

一个序列化系统, 可以生成或读取採用XML或JSON表示的Django模型实例;

一个用于扩展模板引擎的能力的系统.

3. 内置应用

Django 包含了非常多应用在它的"contrib"包中, 这些包含:

一个可扩展的认证系统;

动态站点管理页面;

一组产生RSS和Atom的工具;

一个灵活的评论系统;

产生Google站点地图(Google Sitemaps)的工具;

防止跨站请求伪造(cross-site request forgery)的工具;

一套支持轻量级标记语言(Textile和Markdown)的模板库;

一套协助创建地理信息系统(GIS)的基础框架;

4. server部署

Django可以执行在启用了mod python的Apache 2上, 或是不论什么WSGI兼容的Webserver.

Django也有启动FastCGI服务的能力, 因此可以应用于不论什么支持FastCGI的机器上.

下列数据库引擎被Django官方支持:

PostgreSQL \  MySQL \ SQLite \ Oracle;

Microsoft SQL Server的适配器正在开发中, 处于试验阶段.

Django1.0已经可以利用Jython执行在不论什么J2EEserver.

Django - Django框架 简单介绍的更多相关文章

  1. jQuery系列 第一章 jQuery框架简单介绍

    第一章 jQuery框架简单介绍 1.1 jQuery简介 jQuery是一款优秀的javaScript库(框架),该框架凭借简洁的语法和跨平台的兼容性,极大的简化了开发人员对HTML文档,DOM,事 ...

  2. Python -- Scrapy 框架简单介绍(Scrapy 安装及项目创建)

    Python -- Scrapy 框架简单介绍 最近在学习python 爬虫,先后了解学习urllib.urllib2.requests等,后来发现爬虫也有很多框架,而推荐学习最多就是Scrapy框架 ...

  3. Rebound动画框架简单介绍

    Rebound动画框架简单介绍 Android菜鸟一枚,有不对的地方希望大家指出,谢谢. 最近在接手了一个老项目,发现里面动画框架用的是facebook中的Rebound框架,由于以前没听说过,放假时 ...

  4. 【FIORI系列】SAP OpenUI5 (SAPUI5) js框架简单介绍

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FIORI系列]SAP OpenUI5 (SA ...

  5. Django入门-框架目录介绍

    Django入门博客:https://www.cnblogs.com/chuangming/p/9076721.html#4098510 备注:使用 Django 框架之后,开发服务端方便了很多.我们 ...

  6. Live555 实战之框架简单介绍

    作者:咕唧咕唧liukun321 来自:http://blog.csdn.net/liukun321 上一篇文章简要介绍了怎样以共享库的方式交叉编译Live555,今天再来介绍live源代码框架. 先 ...

  7. Spring框架简单介绍

    原文地址:  http://my.oschina.net/myriads/blog/37922 1.使用框架的意义与Spring的主要内容 随着软件结构的日益庞大,软件模块化趋势出现,软件开发也须要多 ...

  8. MoQ(基于.net3.5,c#3.0的mock框架)简单介绍

    我们在做单元测试的时候,常常困扰于数据的持久化问题,很多情况下我们不希望单元测试影响到数据库中的内容,而且受数据库的影响有时我们的单元测试的速度会很慢,所以我们往往希望将持久化部分隔离开,做单元测试的 ...

  9. Python三大web框架简单介绍

    Django 是重量级框架:它封装的的功能常丰富非常多所以它是重量级,Django的文档最完善.市场占有率最高.招聘职位最多.Django提供全套的解决方案(full-stack framework ...

随机推荐

  1. C语言字符串操作函数

    1.函数名: stpcpy  功  能: 拷贝一个字符串到另一个  用  法: char *stpcpy(char *destin, char *source);  程序例: #include < ...

  2. Python string replace 方法

    Python string replace   方法 方法1: >>> a='...fuck...the....world............' >>> b=a ...

  3. qt新进程工作目录的设置(工作目录确实是被子进程继承的,但也可以设置)

    经过试验,qt启动一个新的进程时,这个进程的工作目录是继承父进程的,无论是通过start还是startDetached来启动. 其实对于linux系统,qt底层应该也是调用fork.exec之类的函数 ...

  4. 积累的VC编程小技巧之标题栏和菜单

    1.窗口最大最小化按纽的控制 ①怎样在程序开始的时候让它最大化? ②vc++做出来的exe文件在窗体的右上方是没有最大化和最小化按钮的,怎样实现这一功能? ③如何在显示窗口时,使最大化按钮变灰?   ...

  5. 【Demo 0007】导航控制器

    本章学习要点       1.  了解导航控制器基本知识:       2.  掌握导航控制器基本用法:       3.  掌握导航控制器基本用法; 

  6. (原创)(C#随笔)IEnumerable< ICollection < IList区别

    public interface IEnumerable { IEnumerator GetEnumerator(); } 再看ICollection<T> public interfac ...

  7. protobuf(Protocol Buffers)java初体验

    因为项目须要所以简单的研究了下protobuf.我也是參照网上的博客,所以大部分内容我也就不反复造轮子了.首先protobuf介绍点击这里,使用介绍点击这里,使用demo看这里. 我个人的第一个样例也 ...

  8. 如何隐藏 QLPreviewController 的 Action 按钮?

    在 iOS 6 以前,可以在 present QLPreviewController 之后使用以下代码: [previewController.navigationItem setRightBarBu ...

  9. bootstrap css选择不同的宽度

    刚开始使用bootstrap css开源项目.遇到一个问题,默认的input 宽度太大,需要找小一点的. 其实只需要在input tag中选用预定义的较小的宽度即可.比如: <input typ ...

  10. leetcode回文子串拆分-最小拆分次数

    转载请注明来自souldak,微博:@evagle 上一篇是要输出所有的可能拆分,这回是要输出拆分次数最少的切割次数. 如果直接按照上一篇那么做的话,就会超时,因为我们在判断s[i][j]是否是回文的 ...