前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django学习笔记

Django学习笔记

作者头像
AsiaYe
发布2019-11-06 14:35:45
8100
发布2019-11-06 14:35:45
举报
文章被收录于专栏:DBA随笔DBA随笔

Django简介

说明一下:这篇文章本来应该是昨天推得,昨天写完直接过了12点了,所以就和今天的一起推出来。

最近研究了一点前端的东西,用到了Django这个框架,之前一直没有接触过前端,现在决定学习一下,看了看Django方面的书籍和博客,简单整理整理最近看的比较浅的内容,权当学习记录吧。

Django是一个开放源代码的Web应用框架,由Python写成(这里解释下Web框架:Web框架是别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子。)。采用了MVC的框架模式,即模型(Model)M,视图(View)V和控制器(Controler)C。它最初是被开发来用于管理一些以新闻内容为主的网站的。在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),有些WEB框架觉得MVC的字面意思很别扭,就给它改了一下。view不再是HTML相关,而是主业务逻辑了,相当于控制器。html被放在Templates中,称作模板,于是MVC就变成了MTV,称为 MTV模式,这其实就是一个文字游戏,和MVC本质上是一样的,这里详细解释下MTV里面包含的具体内容:

模型(Model):定义数据库相关的内容,一般放在models.py文件中。

视图(View):定义HTML等静态网页文件相关,也就是那些html、css、js等前端的东西。

控制器(Controller):定义业务逻辑相关,就是你的主要代码。

在Django中,urls、orm、static、settings等起着重要的作用。一个典型的业务流程是如下图所示:

Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西。为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。

Django的MVC的设计模式,有以下特点:

  • 1.对象关系映射 (ORM,object-relational mapping):以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。
  • 2.URL 分派:使用正则表达式匹配URL,你可以设计任意的URL,没有框架的特定限定。像你喜欢的一样灵活。
  • 3.模版系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。
  • 4.表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。
  • 说了这么多,还是看看实际的一个应用框架中各种文件的作用吧:
  • views.py
  • 处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。
  • models.py
  • 与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。
  • templates
  • views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。
  • settings.py
  • Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

urls.py

网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。

forms.py

表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。

未完,待续。。。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • urls.py
  • forms.py
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档