Django
Django
⼀,简介
Django是⼀个开放源代码的Web应⽤框架,由Python写成。采⽤了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来⽤于管理劳伦斯出版集团旗下的⼀些以新闻内容为主的⽹站的,即是CMS(内容管理系统)软件。并于2005年7⽉在BSD许可证下发布。这套框架是以⽐利时的吉普赛爵⼠吉他⼿Django Reinhardt来命名的。
1,框架介绍
Django 项⽬是⼀个Python定制框架,它源⾃⼀个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核⼼组件有:
1. ⽤于创建模型的
2. 为最终⽤户设计的完美管理界⾯
3. ⼀流的 URL 设计
4. 设计者友好的模板语⾔
5. 缓存系统。
Django(发⾳:[`dʒæŋɡəʊ]) 是⽤python语⾔写的开源web开发框架(open source web framework),它⿎励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于2005年7⽉, 并于2008年9⽉发布了第⼀个正式版本1.0 。
由于Django在近年来的迅速发展,应⽤越来越⼴泛,被著名IT开发杂志SD Times评选为2013 SD Times 100,位列“API、库和框
架”分类第6位,被认为是该领域的佼佼者
2,架构设计
Django是⼀个基于构造的框架。但是在Django中,控制器接受⽤户输⼊的部分由框架⾃⾏处理,所以 Django ⾥更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。它们各⾃的职责如下:
层次职责
模型(Model),即数据存取层处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些⾏为以及数据之间的关系等。
模板(Template),即表现层处理与表现相关的决定: 如何在页⾯或其他类型⽂档中进⾏显⽰。
视图(View),即业务逻辑层存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。
从以上表述可以看出Django 视图不处理⽤户输⼊,⽽仅仅决定要展现哪些数据给⽤户,⽽Django 模板 仅仅决定如何展现Django视图指定的数据。或者说, Django将MVC中的视图进⼀步分解为 Django视图 和 Django模板两个部分,分别决定 “展现哪些数据” 和 “如何展现”,使得Django的模板可以根据需要随时替换,⽽不仅仅限制于内置的模板。
⾄于MVC控制器部分,由Django框架的URLconf来实现。URLconf机制是使⽤正则表达式匹配URL,然后调⽤合适的Python函数。URLconf对于URL的规则没有任何限制,你完全可以设计成任意的URL风格,不管是传统的,RESTful的,或者是另类的。框架把控制层给封装了,⽆⾮与数据交互这层都是数据库表的读,写,删除,更新的操作。在写程序的时候,只要调⽤相应的⽅法就⾏了,感觉很⽅便。程序员把控制层东西交给Django⾃动完成了。 只需要编写⾮常少的代码完成很多的事情。所以,它⽐MVC框架考虑的问题要深⼀步,因为我们程序员⼤都在写控制层的程序。现在这个⼯作交给了框架,仅需写很少的调⽤代码,⼤⼤提⾼了⼯作效率。
3,设计哲学
Django的主要⽬的是简便、快速的开发数据库驱动的⽹站。它强调代码复⽤,多个组件可以很⽅便的以“插件”形式服务于整个框
架,Django有许多功能强⼤的第三⽅,你甚⾄可以很⽅便的开发出⾃⼰的⼯具包。这使得Django具有很强的可扩展性。它还强调快速开发和(Do Not Repeat Yourself)原则。
Django基于的设计⼗分优美:
对象关系映射 (,object-relational mapping):以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到⼀个⾮常容易使⽤的数据库API,同时你也可以在Django中使⽤原始的SQL语句。
URL 分派:使⽤匹配URL,你可以设计任意的URL,没有框架的特定限定。像你喜欢的⼀样灵活。
模版系统:使⽤Django强⼤⽽可扩展的模板语⾔,可以分隔设计、内容和Python代码。并且具有可继承性。
表单处理:你可以⽅便的⽣成各种表单模型,实现表单的有效性检验。可以⽅便的从你定义的模型实例⽣成相应的表单。
Cache系统:可以挂在内存缓冲或其它的框架实现超级缓冲 -- 实现你所需要的粒度。
会话(),⽤户登录与权限检查,快速开发⽤户会话功能。
国际化:内置国际化系统,⽅便开发出多种语⾔的⽹站。
⾃动化的管理界⾯:不需要你花⼤量的⼯作来创建⼈员管理和更新内容。Django⾃带⼀个ADMIN site,类似于内容管理系统
4,⼯作机制
1.⽤manage .py runserver 启动Django服务器时就载⼊了在同⼀⽬录下的settings .py。该⽂件包含了项⽬中的配置信息,如前⾯讲的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Django哪个Python模块应该⽤作本站的URLConf,默认的是urls .py
2.当访问url的时候,Django会根据ROOT_URLCONF的设置来装载URLConf。
3.然后按顺序逐个匹配URLConf⾥的URLpatterns。如果到则会调⽤相关联的视图函数,并把HttpRequest对象作为第⼀个参数(通常是request)
4.最后该view函数负责返回⼀个HttpResponse对象
5,环境搭建
pip install django
6,第⼀个django项⽬
使⽤pycharm新建项⽬
项⽬⽬录
django admin 自定义页面
manage.py: 命令⾏⼯具,允许以多种⽅式与项⽬进⾏交互。在CMD窗⼝下,将路径切换到django项⽬下输⼊ python manage.py help可以查看⼯具的具体功能
init.py: 初始化⽂件,通常⽆需修改
settings.py: 项⽬配置⽂件
urls.py: 项⽬的URL设置,⽹站地址信息
wsgi.py: WebServerGatewayInterface服务器⽹关接⼝,Python应⽤与Web服务器间的接⼝
templates:模板⽂件⽬录
运⾏项⽬
复地址到浏览器
成功
创建APP
项⽬创建完成后,创建项⽬应⽤,简称App,是⽹站的功能 每个App是⽹站的⼀页或者多页 App的创建由manage.py实现● cd myDjango,切换⽬录
● 使⽤manage.py创建app index
● migrations: ⽤于数据库的迁移
● init.py: 初始化⽂件
● admin.py: 当前App的后台管理系统
● app.py: 当前App的配置信息,通常⽆需修改
● model.py: 定义在映射类关联数据库,MTV中的Model
● tests.py: ⾃动化测试后模块
● views.py: 逻辑处理模块,MTV中的Views 修改配置⽂件
urls.py和views.py代码:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。