1. Django 官方网站

https://docs.djangoproject.com/zh-hans/3.0/intro/tutorial01/

2. Model View Controller

Model控制数据,View负责生成响应, Controller负责处理请求和调度。一个简单的WEB程序的流程如下:

客户端(浏览器)访问http:\\ example.com\index,它向服务器IP以及对应端口发起HTTP请求(GET/POST)。

当客户端和服务端建立了TCP连接后,HTTP请求的header以及内容被WEB 服务器程序所接收并处理,WEB 服务器会将HTTP请求中对应的请求路径\index发给WEB 后端程序(Django程序)。这时,Django的Controller会对这个URL路径做字符串匹配,当找到了对于匹配项后,会返回这个URL对应的VIEW。这时VIEW程序内部会针对此次请求作相应处理,查询Model内的数据,然后生成一个HTTP Response(例如一个HTML文件)。然后,WEB 服务器会将这个HTTP response按其对应IP将它发送回浏览器。 浏览器接收到了HTTP response之后,对其进行解析,将HTML文件进行加载,并渲染,最后显示在屏幕上。

Django内部的Model就等价于数据库系统。 Model主要是对项目的数据进行建模并操纵。当我们设计好关系模式(表)后,使用Django的migration操作,就可以生成SQL(建表)语句,并执行SQL语句创建数据库的表。然后,我们就可直接调用对应接口对数据进行增删查改。

View在Django可以看成每一个url请求所对应的相应。View做的就是一件事情,接受HTTP request,然后返回HTTP response,至于response是字符串、HTML、pdf文件还是jpg图片都是次要的了。View只需处理request,然后生成响应的内容,让后将内容封装到HTTP response并返回它。

在很多情况下,View需要返回HTML文件,所以View大多都要使用模板Tempolate。模板可以理解为频繁使用或通用的HTML文件,我们要做的就是设计模板和使用模板。当我们处理对应的URL请求后,生成了相应数据,然后再把数据传进模板,利用模板语言(Django有默认的模板语言),将模板中变量替换为我们输入的数据,就生成了最终的HTML文件。

Controller负责处理请求,也就是应对不同的请求(URL),我们应该返回不同的response。Controller主要负责建立URL到VIEW的映射(它对应这Django内的url_pattern),对于不同url我们要返回与之对应的view。

Django WEB开发 - Django 3.0 Tutorial入门的更多相关文章

  1. Django web 开发指南 no such table:

    在学习django web开发指南时,发布新博客点击save后会有error提示:no such table balabalabala... 百度了一下说重新运行manage.py syncdb 就可 ...

  2. Django Web开发学习笔记(1)

    一.Python的标准类型 (1)bool型 >>> bool("") False >>> bool(None) False >>& ...

  3. Django Web开发指南笔记

    Django Web开发指南笔记 语句VS表达式 python代码由表达式和语句组成,由解释器负责执行. 主要区别:表达式是一个值,它的结果一定是一个python对象:如:12,1+2,int('12 ...

  4. python web开发——django学习(一)第一个连接mysql数据库django网站运行成功

    1.新建一个项目 2.新建一些文件夹方便管理 3.新建一个项目叫message  4.连接数据库 python web开发Django连接mysql 5.在数据库里自动生成django的表  6.运行 ...

  5. [python] python django web 开发 —— 15分钟送到会用(只能送你到这了)

    1.安装python环境 1.1 安装python包管理器: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py   1. ...

  6. Django web开发【5】 实现标签功能

    标签tag在很多web2.0应用中都很常见,标签其实就是关联某些信息的一个关键字.打标签实际上就是给内容分配标签的过程,它通常由作者或者用户实现.标签之所有这么流行是因为它允许用户对自己创建的博客.图 ...

  7. Django Web开发【4】 用户注册与管理

    几乎所有的网站都提供了用户注册与管理功能,这一节,我们将讲解如何利用Django自身提供的用户认证系统实现用户注册与管理功能. 会话认证 在上一节中,我们学习了User数据模型,并用它来保存用户信息, ...

  8. Python Web开发:Django+BootStrap实现简单的博客项目

    创建blog的项目结构 关于如何创建一个Django项目,请查看[Python Web开发:使用Django框架创建HolleWorld项目] 创建blog的数据模型 创建一个文章类 所有开发都是数据 ...

  9. Django Web开发【3】创建网络收藏夹

    这一节我们将继续一个创建网络收藏夹应用,并学习视图.模型以及模板的处理过程. Django是一个MVC开发框架,但是它的控制器对应的为view,而视图对应为模板(template),模型对应model ...

随机推荐

  1. XCTF练习题---CRYPTO---safer-than-rot13

    XCTF练习题---CRYPTO---safer-than-rot13 flag:no_this_is_not_crypto_my_dear 解题步骤: 1.观察题目,下载附件 2.打开后发现是个文件 ...

  2. Django-ORM-连表正反操作

    一.A表男生,B表女生,C表关系 1通过A表查与某个男生有关系的所有女生 思想1:在A表中确认男生后,通过反查到C表,获取相关内容(QuerySet),然后再跨到B表获取所有女生信息. obj=mod ...

  3. 4.25JMster环境搭建、webxml及测试平台练习

    1.Java环境搭建 右击电脑属性--高级设置--环境变量--系统变量--新建(输入JAVA_HOME.C:\Program Files\Java\jdk1.8.0_91---CLASSPATH..; ...

  4. [AcWing 778] 字符串最大跨距

    点击查看代码 #include<iostream> using namespace std; string s, s1, s2; int main() { char c; while (c ...

  5. 在windows上安装elasticsearch7.6

    在windows上安装elasticsearch7.6 安装Java1.8 下载Java1.8 提取码:yi0c 链接:https://pan.baidu.com/s/1mNd2Yg-k6ob91bO ...

  6. 四月总结&五月计划

    四月总结 1. 主要任务 <Effective C++>书 ① 进展: 看完了30讲(共55讲),从4月20号开始居家办公,书落在公司了,一直到昨天29号才去园区上班,耽搁了.30讲之前的 ...

  7. 面试题|Docker的优缺点

    开源Linux 长按二维码加关注~ 上一篇:Linux中几个正则表达式的用法 Docker解决的问题: 由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环 ...

  8. SecureCRT使用SSH链接出现Password Authentication Failed,Please verify that the username and password are correct的解决办法(亲测有效)

  9. 谈谈最近玩的设计软件:Figma 与 Sketch

    谈谈最近玩的设计软件:Figma 与 Sketch 本文写于 2020 年 5 月 9 日 作为一个优秀的开发者,不懂设计是绝对不行的! 毕竟不懂设计的程序员不是好老板. 而做设计,早已不是尺规作图的 ...

  10. mysql忘记root密码实现免密登录

    1.配置my.cnf文件,跳过授权表: skip-grant-tables 2.重启mysqld服务 3.z直接mysql登录 4.use mysql这个数据库 5.设置密码: update user ...