活动地址:[CSDN21天学习挑战赛]((https://marketing.csdn.net/p/bdabfb52c5d56532133df2adc1a728fd)
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…
…
文章目录
python-django从入门到入土(一)
自我介绍
大家好,我是玉江仙,接下来我将带领大家从0到1快速学习掌握django,会有一系列的精品博客产出
学习目标
熟练使用django进行项目开发
学习计划(理论和项目实践)
理论框架
掌握django一个简单的项目流程
django理论介绍
创建python虚拟环境并导入django第三方包
创建django项目
模型
站点管理
视图和url
模板
配置文件和静态文件
项目实践案例
黑马程序员美多商城搭建 引用B站案例
1.django框架理论介绍
1.1基本介绍
Django是一个开源的Python Web应用框架,采用了MVT的框架模式,即模型M
,视图V
和模版T
,最早于2005年发布。Django被认为是"大而全"的重量级Web框架,其自带大量的常用工具和组件(比如数据库ORM组件、用户认证、权限管理、分页、缓存), 甚至还自带了管理后台Admin,适合快速开发功能完善的企业级网站。Django自带免费的数据SQLite,同时支持MySQL与PostgreSQL等多种数据库。
1.2MVC框架模式介绍(经典框架)
MVC即 Model-View-Controller(模型-视图-控制器) ,是经典的软件开发设计模式。
Model (模型): 简而言之即数据模型。模型不是数据本身(比如数据库里的数据),而是抽象的描述数据的构成和逻辑关系。通常模型包括了数据表的各个字段(比如人的年龄和出生日期)和相互关系(单对单,单对多关系等)。Web开发框架会根据模型的定义来自动生成数据表。
View (视图): 主要用于显示数据,用来展示用户可以看到的内容或提供用户可以输入或操作的界面。数据来源于哪里?当然是数据库啦。那么用户输入的数据给谁? 当然是给控制器啦。
Controller(控制器):应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据(比如增加或更新数据表)。
MVC框架图如下:
1.3MVT框架模式介绍(django)
Django的MVT设计模式由Model(模型)
, View(视图)
和Template(模板)
三部分组成,分别对应单个app目录下的models.py
, views.py
和templates
文件夹。它们看似与MVC设计模式不太一致,其实本质是相同的。Django的MVT设计模式与经典的MVC对应关系如下。
- Django Model(模型): 这个与经典MVC模式下的模型Model差不多。
- Django View(视图): 这个与MVC下的控制器Controller更像。视图不仅负责根据用户请求从数据库读取数据、指定向用户展示数据的方式(网页或json数据), 还可以指定渲染模板并处理用户提交的数据。
- Django Template(模板): 这个与经典MVC模式下的视图View一致。模板用来呈现Django view传来的数据,也决定了用户界面的外观。Template里面也包含了表单,可以用来搜集用户的输入内容。
Django MVT设计模式中最重要的是视图(view), 因为它同时与模型(model)和模板(templates)进行交互。当用户发来一个请求(request)时,Django会对请求头信息进行解析,解析出用户需要访问的url地址,然后根据路由urls.py中的定义的对应关系把请求转发到相应的视图处理。视图会从数据库读取需要的数据,指定渲染模板,最后返回响应数据。这个过程如下图所示:
注:图片来源于搜索引擎,如有侵权,请联系我删除,且本作者以学习为目的,不涉及任何商业利益
结束以及做笔记建议
由于今天刚刚开始学习,所以不会太难,只进行一个理论上的学习和了解,学习完成后,希望能进行言语描述模拟一遍MVT架构以及希望能自行搜集一下相关资料进行深入了解。这里是django官方文档链接可以自行查看进行了解
如本作者有
下篇预告
下期将会带领大家进行python虚拟化环境的构建以及安装django并进行初级实践了解django
框架各个组件