Python52days

发布时间 2023-11-09 09:43:44作者: 拆尼斯、帕丁顿

web应用程序

手写web框架

Django框架的学习

Python中的主流框架

框架的下载,安装,版本,怎么启动,怎么使用等

三板斧问题

—————————————————————————————————————————web应用程序

Django框架是一款专门用来开发web应用的框架

什么是web?

Web应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易访问应用程序

一些购物网站 资料网站等都是基于 web应用的程序

Web应用软件是基于B/S架构的,B与S部署于不同的计算机上,并且基于网络通信,所以B与S的本质都是套接字,其中B指的是浏览器&无需开发,我们需要开发的是S端

web应用程序的优点

    1.网络应用程序不需要任何复杂的“展开”过程,你所需要的只是一个适用的浏览器;


2.网络应用程序通常耗费很少的用户硬盘空间,或者一点都不耗费;
  


3.它们不需要更新,因为所有新的特性都在服务器上执行,从而自动传达到用户端;


4.网络应用程序和服务器端的网络产品都很容易结合,如email功能和搜索功能;


5.因为它们在网络浏览器窗口中运行,所以大多数情况下它们是通过跨平台使用的(例如Windows,Mac,Linux等等)

web应用程序的缺点:

    1.网络应用程序强调浏览器的适用性。如果浏览器方没有提供特定的功能,或者弃用特定的平台或操作系统版本(导致不适用),就会影响大量用户;


2.网络应用依靠互联网远程服务器端的应用文件。因此,当连接出问题时,应用将不能正常使用。但是,如果使用HTML5 API,这些应用就可以被下载安装而可离线使用。Google Gears,就是一个好例子;


3.许多网络应用程序不是开源的,只能依赖第三方提供的服务,因此不能针对用户定制化、个性化,而且大多数情况下用户不能离线使用,因而损失了很多灵活性;


4.它们完全依赖应用服务商的可及性。如果公司倒闭,服务器停止使用,用户也无法追索以前的资料。对比而看,即使软件制造商倒闭了,传统的安装软件也可以继续运行,尽管不能再更新或有其他用户服务;


5.相似地,提供方公司对软件和其功能有了更大的控制权。只要他们愿意就能为软件添加新特性,即使用户想等bugs先被解决再更新。跳过较差的软件版本也不可能了。公司可以强加不受欢迎的特性给用户,也可以随意减少带宽来削减开支。当然,公司会尽量地讨用户欢喜——只在有竞争者提供更好的服务与方便的转接性的情况下。否则用户别无选择,只能默默承受;


6.理论上可以查看用户,这有可能引起隐私安全问题

什么是web框架?、

  他人写好的框架 只需在固定的位置写代码即可

bin

core

src

手写web框架   需要用到 http协议

 

如何在网址栏中输入 任意后缀  返回任意后缀?

  服务端要知道网址栏里输入的后缀名

  服务端做判断,后做对应的返回

 将所拿到的字节 格式  转为字符串

 字符之中含有空格  ,需用到 splite  切分 ——列表——索引取值

 转成列表后  home取  通过列表索引为1

 但是写死了

当前服务端存在的问题

  socket部分需要我们自己每次都要写

  我们需要自己每次处理HTTP格式的数据

  没有解决高并发问题

需要另一种方法

wsgiref模块的使用

  wsgiref模块是一个内置的模块,直接可以拿来使用,无需安装,帮助封装了socket部分,

另外也解决了部分的高并发问题,但是能够解决的并发量并不高,也会帮助我们把HTTP格式的数据做封装处理,也就是说不需要我们在自己处理

 

问题变与 如果要书写多个, 不能写多次 if elif、

 此时下方不需要再增加 只需添加上方

 

但是随着创建 会更多繁琐

 

 

若是想添加文件

 若是想加入HTML

  则在HTML中 输入某个 <h1>???</h1>

相应的改为 'index.html'

若是想返回某个网站页面将  index.html 的页面改为哪个网址的代码

  打开网站 检查  copy  到HTML中  enter

如果访问home页   ——home.html

如果有多个 创建多个 需要键文件夹统一存放

命名为templates

而这时  要修改这里

 

 

 

views.py 主要用来写业务逻辑  也成为视图文件

urls.py 主要用来写后缀和视图函数的对应关系也称为路由文件

template 存储项目中用到的模板文件 html文件, 模板文件 提供一些模板语法

每一个框架都应有一个入口文件 包括 Django

 

 

Django的下载安装启动

python中主流框架  

Django框架  ******                     内容功能多

  flask框架***                       轻装  较小

    tornado框架  ***         解决并发高  高性能

      sanic框架 *  

        fastapi框架    主要接口 ***

 

如何使用?

1.安装  pip install Django

2.版本问题

  Django1.x    与2.x版本差别不大  旧项目使用 

  Django2.x   基本都是2.x  稍微区别与1.x

  Django3.x   大部分是3.x

3. Django版本要和 python的版本匹配

  Django1/2----- python3.6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HTTP协议的特性:

1.四大特性

    1. HTTP协议
    2.  
      1.四大特性
    3.  
      1.基于TCP/IP作用于应用层之上的协议
    4.  
      2.基于请求响应
    5.  
      3.无状态
    6.  
      cookie
    7.  
      session
    8.  
      token
    9.  
      4.无连接
    10.  
      keep-alive

2.请求响应数据格式

  1.  
    请求首行(请求方式 协议版本)
  2.  
    请求头(一堆k:v键值对) 就类似于开路先锋 携带了一些服务端可以提前知道的信息
  3.  
    (/r/n)(如果请求头里没有内容 那就是 /r/n/r/n)
  4.  
    请求体(发送post请求 携带的数据都会放在请求体中) ——————GET POST

    get请求发过誓是没有请求体

  响应首行

  响应头

  /r/n

  响应体

3.响应状态码

下面是常见的HTTP状态码:

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

 也可参考 HTTP协议