Django是什么,Django框架简介(新手必看)
Django 是一个开放源代码的 Web 应用框架,由 Python 语言编写而成。它是市面上较为流行的 Web 应用开发框架之一。
Django 框架功能丰富,易于使用,所以逐渐成为许多 Web 应用开发者的首选框架。
当时,美国堪萨斯州劳伦斯城有一个名为“世界在线(World Online)”的网络开发小组,主要负责开发和维护当地的一些新闻网站。因为新闻编辑工作快节奏的特点,需求方(记者或领导)经常会要求一些网站的迭代更新甚至整个程序都要在计划时间内快速地建立完成,这些计划往往都非常急促,期限只有几天或是几个小时。
为了适应这种快节奏的开发需求,小组成员阿德里安·霍洛瓦蒂(Adrian Holovaty)和西蒙·威利森(Simon Willison)决定放弃使用 PHP 作为开发语言,而是转为使用Python语言进行网站开发。
在开发网站的过程中,一些具有通用性的代码和工作内容被不断发现并抽取出来,进行重复利用。经过日积月累,这些内容逐渐形成了一个能够灵活拓展的Web公用框架,减少了大量的重复工作,从而提升了工作效率。
2005 年 7 月,发展迅速并得到大量支持的 Django 初次开源发布,并于 2008 年 9 月发布了第一个正式版本——Django 1.0。
Django 是根据比利时的爵士音乐家 Django Reinhardt 命名的,汉字音译“姜戈”。
Django 最初就是为了开发新闻网站而生,所以它非常适合开发内容管理系统(Content Management System,CMS),包括新闻网站、在线杂志、博客等。
但是,Django 并不仅仅限于内容管理系统的开发。Django 优秀的安全性、可扩展性以及多用户角色管理功能等,让 Django 适合开发各种主流的 Web 应用程序,例如,电子商务网站、金融网站、社交网站、客户关系管理系统,以及主流网络应用(如微信小程序)的后台系统等。
当需要把对象中的数据存储到数据库时,按照传统思路,需要手动编写 SQL 语句,将对象中的数据嵌入 SQL 语句中,并调用相关方法执行 SQL 语句。而采用 ORM(Object Relational Mapping,对象关系映射)技术之后,只要提前配置好对象和数据库之间的映射关系,ORM 就可以自动生成 SQL 语句,并将对象中的数据自动存储到数据库中。
Django 拥有强大的数据库操作接口(QuerySet API),开发者基本上无须掌握 SQL 语言即可操作数据库。
Django 框架功能丰富,易于使用,所以逐渐成为许多 Web 应用开发者的首选框架。
Django的起源
Django 诞生于 2003 年秋天,源自实际的 Web 应用开发需求。当时,美国堪萨斯州劳伦斯城有一个名为“世界在线(World Online)”的网络开发小组,主要负责开发和维护当地的一些新闻网站。因为新闻编辑工作快节奏的特点,需求方(记者或领导)经常会要求一些网站的迭代更新甚至整个程序都要在计划时间内快速地建立完成,这些计划往往都非常急促,期限只有几天或是几个小时。
为了适应这种快节奏的开发需求,小组成员阿德里安·霍洛瓦蒂(Adrian Holovaty)和西蒙·威利森(Simon Willison)决定放弃使用 PHP 作为开发语言,而是转为使用Python语言进行网站开发。
在开发网站的过程中,一些具有通用性的代码和工作内容被不断发现并抽取出来,进行重复利用。经过日积月累,这些内容逐渐形成了一个能够灵活拓展的Web公用框架,减少了大量的重复工作,从而提升了工作效率。
2005 年 7 月,发展迅速并得到大量支持的 Django 初次开源发布,并于 2008 年 9 月发布了第一个正式版本——Django 1.0。
Django 是根据比利时的爵士音乐家 Django Reinhardt 命名的,汉字音译“姜戈”。
Django的用途
正如前文所述,Django 衍生自真实的 Web 开发需求,它所注重的是代码的复用,减少重复的工作。所以,它的主要目的是能够方便程序员简便、快速地开发数据库驱动的网站。Django 最初就是为了开发新闻网站而生,所以它非常适合开发内容管理系统(Content Management System,CMS),包括新闻网站、在线杂志、博客等。
但是,Django 并不仅仅限于内容管理系统的开发。Django 优秀的安全性、可扩展性以及多用户角色管理功能等,让 Django 适合开发各种主流的 Web 应用程序,例如,电子商务网站、金融网站、社交网站、客户关系管理系统,以及主流网络应用(如微信小程序)的后台系统等。
Django的特点
Django 作为能够快速进行 Web 应用开发的框架,具有以下主要特点。1) 自动化脚本工具
使用 Django 的自动化脚本工具能够通过简单的命令对项目进行管理,例如创建项目、创建应用等操作。2) 自带管理后台
Django 只需一些简单的设置和几行代码的编写,就可以让目标网站拥有一个强大的管理后台。管理后台能够方便地对内容进行增加、删除、修改与查找的操作,并且还能够进行定制搜索、过滤等操作。3) 灵活的路由系统
Django 能够非常便捷地定义各种形式的访问地址,并且具有良好的可维护性。4) 强大的数据库ORM
在进行面向对象编程时,数据通常存储在对象的各个属性中。例如一个用户类的对象,它的编号、姓名、年龄等属性都可以用来记录用户信息。当需要把对象中的数据存储到数据库时,按照传统思路,需要手动编写 SQL 语句,将对象中的数据嵌入 SQL 语句中,并调用相关方法执行 SQL 语句。而采用 ORM(Object Relational Mapping,对象关系映射)技术之后,只要提前配置好对象和数据库之间的映射关系,ORM 就可以自动生成 SQL 语句,并将对象中的数据自动存储到数据库中。
Django 拥有强大的数据库操作接口(QuerySet API),开发者基本上无须掌握 SQL 语言即可操作数据库。