Django WEB开发 - Django 3.0 Tutorial入门
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入门的更多相关文章
- Django web 开发指南 no such table:
在学习django web开发指南时,发布新博客点击save后会有error提示:no such table balabalabala... 百度了一下说重新运行manage.py syncdb 就可 ...
- Django Web开发学习笔记(1)
一.Python的标准类型 (1)bool型 >>> bool("") False >>> bool(None) False >>& ...
- Django Web开发指南笔记
Django Web开发指南笔记 语句VS表达式 python代码由表达式和语句组成,由解释器负责执行. 主要区别:表达式是一个值,它的结果一定是一个python对象:如:12,1+2,int('12 ...
- python web开发——django学习(一)第一个连接mysql数据库django网站运行成功
1.新建一个项目 2.新建一些文件夹方便管理 3.新建一个项目叫message 4.连接数据库 python web开发Django连接mysql 5.在数据库里自动生成django的表 6.运行 ...
- [python] python django web 开发 —— 15分钟送到会用(只能送你到这了)
1.安装python环境 1.1 安装python包管理器: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py 1. ...
- Django web开发【5】 实现标签功能
标签tag在很多web2.0应用中都很常见,标签其实就是关联某些信息的一个关键字.打标签实际上就是给内容分配标签的过程,它通常由作者或者用户实现.标签之所有这么流行是因为它允许用户对自己创建的博客.图 ...
- Django Web开发【4】 用户注册与管理
几乎所有的网站都提供了用户注册与管理功能,这一节,我们将讲解如何利用Django自身提供的用户认证系统实现用户注册与管理功能. 会话认证 在上一节中,我们学习了User数据模型,并用它来保存用户信息, ...
- Python Web开发:Django+BootStrap实现简单的博客项目
创建blog的项目结构 关于如何创建一个Django项目,请查看[Python Web开发:使用Django框架创建HolleWorld项目] 创建blog的数据模型 创建一个文章类 所有开发都是数据 ...
- Django Web开发【3】创建网络收藏夹
这一节我们将继续一个创建网络收藏夹应用,并学习视图.模型以及模板的处理过程. Django是一个MVC开发框架,但是它的控制器对应的为view,而视图对应为模板(template),模型对应model ...
随机推荐
- Python简单爬取Amazon图片-其他网站相应修改链接和正则
简单爬取Amazon图片信息 这是一个简单的模板,如果需要爬取其他网站图片信息,更改URL和正则表达式即可 1 import requests 2 import re 3 import os 4 de ...
- 『现学现忘』Git基础 — 12、Git用户签名(补充)
目录 1.修改用户签名 2.取消用户签名 3.用户签名的优先级 4.总结本文用到的Git命令 1.修改用户签名 其实很简单,就是重新执行git config命令,换个用户名和邮箱地址就可以了,新配置的 ...
- springmvc05-json交互处理
什么是json: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛. *采用完全独立于编程语言的文本格式来存储和表示数据 ...
- [LBS学习笔记4]地理特征POI、AOI、路径轨迹
1 简述 今天继续LBS地理信息的学习,目标是写到10篇博客的时候,做出一个地图工具页面用,包含地图空间索引Geohash.S2.H3的可视化展示. 地理特征分为点(POI).线(路径).面(AOI) ...
- 微信新菜单类型 article_id 设置教程
前不久, Senparc.Weixin SDK 跟随微信更新的步伐,上线了新的素材管理接口,其中也涉及到了 article_id 类型的自定义菜单接口. 本文将演示如何使用新的菜单类型. 官方文档传送 ...
- linux项目部署(非前后端分离crm)
参考博客 参考博客2---部署过程 导论:看参考博客1 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收 ...
- 2022管家婆工贸版ERP T3 V22.0工厂管理软件单机网络版无限用户免狗软件可定制
管家婆工贸版是一款针对国内中小加工企业开发的管理软件,软件以财务管理为核心,集采购.销售.存货.生产.工资.固定资产.账务管理等模块于一体,对企业的信息进行监控,实现对企业物流.资金流.信息流和生产成 ...
- python PDF转图片,World转PDF
软件不用续费了... PDF转World暂时没需求,有需求了再搞 Python3.9 ---------------pip3 install PyMuPdf ---------------pip3 ...
- MPLS基础与工作原理
MPLS Fundamental History of WAN Protocol 1970年代之前 第一个 WAN 用于将办公室与终端连接到大型机和小型计算机系统. 它是从办公室到数据中心的点对点连接 ...
- SpringBoot Redis 实践指南
前言 SpringBoot Cache 是一个很好的缓存框架,可以兼容多种缓存实现,数据量较大的情况下,Redis 应该是最多被使用的. 本文重点介绍 SpringBoot 和 Redis 整合使用的 ...