Django(一)

1.web框架底层

1.1 网络通信

在这里插入图片描述
注意:局域网
在这里插入图片描述
个人一般写程序,想要让别人访问:阿里云、腾讯云。

  • 去云平台租服务器(含公网IP)
  • 程序放在云服务器

先以局域网为例
在这里插入图片描述

  • 我的电脑【服务端】
import socket# 1.监听本机的IP和端口
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(('127.0.0.1', 8001))  # 我自己的电脑IP,端口8001# 2.让多少人等待
sock.listen(5)while True:# 3.等待连接请求的申请,有人来连接(阻塞)conn, addr = sock.accept()# 4.连接成功后立即发送conn.sendall("欢迎使用xx系统".encode("utf-8"))# 5.断开连接conn.close()# 6.停止服务端程序
sock.close()
  • 女朋友的电脑(同一个局域网)【客户端】
import socket# 1. 向指定IP发送连接请求
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('192.168.10.3', 8001))# 2. 接收你发的消息
message = client.recv(1024)
print(message.decode("utf-8"))# 3.断开连接
client.close()
  • 姓王的好兄弟【客户端】
import socket# 1. 向指定IP发送连接请求
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('192.168.10.3', 8001))# 2. 接收你发的消息
message = client.recv(1024)
print(message.decode("utf-8"))# 3.断开连接
client.close()

我们自己写时,通过socket模块可以实现网络上的两端进行通信。

1.2 常见软件架构

  • bs架构
浏览器:充当客户端
服务器:网站
  • cs架构,开发应用程序,例如:QQ、Pycharm、网易云音乐(安装在电脑上的软件)
客户端:安装在电脑上的软件。 网易云音乐
服务端:网易服务器

1.3 快速自己写以为网站(不能用django、flask等)

import socket# 1.监听本机的IP和端口
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(('192.168.0.6', 9000))  # 我自己的电脑IP,端口8001# 2.让多少人等待
sock.listen(5)while True:# 3.等待连接请求的申请,有人来连接(阻塞) -> 登录浏览器来连接我conn, addr = sock.accept()# 4.收到浏览器发送的消息buf = conn.recv(2048)print(buf)# 5.给浏览器返回数据conn.send(b"HTTP/1.1 200 OK\r\n\r\n")conn.send(b"Hello, World")# 6.断开连接conn.close()# 6.停止服务端程序
sock.close()

2. web框架

常见的web框架:django、flask、tornado、sanic、fastapi…

在这里插入图片描述
web应用程序:

  • 用户网络通信的socket
  • web框架
  • 业务开发

以django为例:

  • wsgiref模块、uwsgi、daphne -> 本质上都是socket实现。
  • 原来实现了框架

以flask为例:

  • werkzurg、uwsgi、…
  • flask框架

以tornado为例:

  • tornado、werkzurg、uwsgi、…
  • 框架

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

drf知识--01

前后端开发模式 在开发Web应用中,有两种应用模式: 前后端混合开发: bbs 项目--renderajax 1、全栈开发--前端html后端都是一个人写 2、前端人员:写空页面,没有模板语法,只要html,c…

FA2016ASA (MHz范围晶体单元,内置热敏电阻) 汽车

FA2016ASA是爱普生推出的一款内置热敏电阻、频率范围为38.4MHz的晶振,确保数据的准确传输,同时有效避免频谱干扰的出现。可以在-40C to 125C 的温度内稳定工作。在汽车内部空间有限的情况下,FA2016ASA以其小型超薄的外形尺寸2.0 1.6 0.68mm…

职场规划和职业发展

有人说,做任何事情都要有规划,在职场中人要有规划,公司也要有规划。职场上没有人是你生命中的例外,如果你没有规划,那么就说明你根本不知道自己要什么。只有做好规划,才能让你在职场中获得更好的发展。在职…

RocketMQ从入门到精通

1.MQ概述 1.1 RocketMQ简介 RocketMQ 是阿里开源的分布式消息中间件,跟其它中间件相比,RocketMQ 的特点是纯JAVA实现,是一套提供了消息生产,存储,消费全过程API的软件系统。 1.2 MQ用途 限流削峰 MQ可以将系统的超量请…

Java第二十章课堂总结

如果一次只完成一件事情,很容易实现。但现实生活中,很多事情都是同时进行的。Java中为了模拟这种状态,引入了线程机制。简单地说,当程序同时完成多件事情时,就是所谓的多线程。多线程应用相当广泛,使用多线…

【bug日记】如何切换jdk版本,如何解决java和javac版本不一致

背景 今天在安装jenkins后,使用java运行war包的时候,提示jdk1.8版本太低,需要提高版本,所以就需要切换jdk版本 解决 在用户变量中,首先更改了JAVA_HOME的地址为17的目录,发现javac的版本改为17了&#x…

Jmeter的接口测试详细步骤并实现业务闭环

一、首先是了解Jmeter接口测试用到的组件 1、测试计划:Jmeter的起点和容器2、线程组:代表一定的虚拟用户3、取样器:发送请求的最小单元4、逻辑控制器:控制组件的执行顺序5、前置处理器:在请求之前的操作6、后置处理器…

服务宕机、线上环境内存溢出OOM分析思路

前言 平时工作中,肯定会遇到哪个产品经理突然来找,说服务器又挂了,怎么又用不了啦!类似的紧急情况,遇到这种情况不要慌,我提供以下几点紧急补救思路。 1)重启大法保命 2)确认是否新…

5分钟上手浏览器插件测试——Eolink Apikit

Eolink Apikit 研发管理和自动化测试产品中,提供了多种发起 API 测试的方式: 服务器测试:通过 Eolink Apikit 官方远程服务器发送请求,不需要安装任何插件,但是无法访问本地服务器(localhost)、内网、局域网。插件测试…

年终汇报这么写,升值加薪必有你!

#01 你这么能干, 老板知道吗? — 打工人最怕什么? 最怕你忙前忙后,干活一大堆,气出一身结节,锅还没少背,最后升职加薪没有你,出国旅游不带你;更怕你日常996&#xf…

同义词替换器降低论文重复率的最新技术动态

大家好,今天来聊聊同义词替换器降低论文重复率的最新技术动态,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 标题:同义词替换器降低论文重复率的最…

从旺店通·企业版到金蝶云星空通过接口配置打通数据

从旺店通企业版到金蝶云星空通过接口配置打通数据 对接系统:旺店通企业版 旺店通是北京掌上先机网络科技有限公司旗下品牌,国内的零售云服务提供商,基于云计算SaaS服务模式,以体系化解决方案,助力零售企业数字化智能化…

基于SSM的视康眼镜网店销售系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

高级算法设计与分析(二) -- 递归与分治策略

系列文章目录 高级算法设计与分析(一) -- 算法引论 高级算法设计与分析(二) -- 递归与分治策略 高级算法设计与分析(三) -- 动态规划 未完待续【 高级算法设计与分析(四) -- 贪…

iEnglish:家校协同培养学生自主阅读习惯

近日,2023年最新一期365天和1000天“iEnglish学习成长营”顺利结营。据悉,截至今年12月,在家庭场景中完成365天和1000天不间断阅读人数分别突破15万人和2万人。 近年来,全民终身学习的学习型社会不断深入推进,基础教育中对于学生的综合阅读能力素养新要求不断更新。提升孩子的…

【Git】Git基本操作

文章目录 Git 是什么Git 的优点Git 安装Linux UbuntuLinux CentOsWindows Git 基本操作1. 创建 Git 本地仓库2. 配置 Git3. Git工作区、暂存区和版本库4. 添加文件5. 查看 .git 文件6. 修改文件7. 版本回退 Git 是什么 Git是一个免费的、开源的分布式版本控制系统,…

【Linux】ip命令使用

ip命令 用于管理与配置网络接口和路由表。 ip命令的安装 ip 命令来自 iproute2 软件包,在 CentOS 7 中默认已安装。 yum install -y iproute 语法 ip [ OPTIONS ] OBJECT { COMMAND | help }ip [ -force ] -batch filename选项及作用 执行令 : ip …

TCP的拥塞控制_基础知识_四种拥塞控制方法

TCP的拥塞控制 一.拥塞控制的基本概念 在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫作拥塞 。 计算机网络中的链路容量(带宽)、交换节点中的缓存和处理机等都是网络的资源 若出现拥塞…

spring boot 配置多数据源 踩坑 BindingException: Invalid bound statement (not found)

在上一篇:《【已解决】Spring Boot多数据源的时候,mybatis报错提示:Invalid bound statement (not found)》 凯哥(凯哥Java) 已经接受了,在Spring Boot配置多数据源时候,因为自己马虎,导致的一个坑。下面&a…

Notepad++:多行数据操作

1)删除关键字之后(或之前)的所有字符 删除s之后(包含s)的所有内容;快捷键:s.*$ 替换成功 删除s之前(包含s)的所有内容;快捷键:^.*s 2&#xff09…