Python Web开发框架

简介: Python Web开发框架

一、WEB应用服务的认知


WEB应用服务基于HTTP协议/规范,实现静态资源和动态资源的请求与处理。


静态资源包括:html网页、图片、样式、javascript脚本、视频、音频等等。


动态资源包括:通过程序(java/php/python/.net)和数据库(mysql/oracle/sqlsever),根据业务处理流程会动态地生成html,现将html响应给请求(客户端)


HTTP(1.0、1.1、2.0)和HTML的关系:


客户端封闭HTTP请求(HttpRequest),向服务端发起请求


服务端接收请求之后,分析资源请求的路径、请求参数(查询参数、表单参数、json/字节流)


服务端根据资源的请求路径读取文件的内容,并生成字节码数据且封装响应对象(HttpResponse)


客户端接收服务端的响应数据(HttpResponse),判断请求是否成功,如果成功则显示数据(html/json)


WEB应用服务:


1、客户端(Browser浏览器)发出请求(HttpRequest)

2、服务端(Apache/Nginx/PythonWeb)接收请求,根据请求的资源信息,读取文件,并封装到响应对象(HttpResponse)中

3、客户端接收资源,分析资源类型然后渲染并显示出来

另外,WEB应用服务基本HTTP协议,HTTP协议又于TCP/IP协议,因此是安全性连接。


4183dd3d0c624ce0b0a433b10ca62cce.png

二、Python Web开发框架


Python本身实现WEB应用服务的接口(规范),便于我们开发动态资源请求,提供的开发模块是wsgiref。此模块是所有其它高级框架中最核心的、最基本的规范,如Flask基于Werkzeug库实现了wsgi通信协议。WSGI:Web Sever Gataway Interface WEB服务网关接口、负责http协议的底层通信。 Python


Python WEB开发框架:


Django(组件最全、最强大的框架,主要用于后端服务管理、运维),例如:做后台

Flask(小巧的、灵活的框架、可以快速开发API接口),例如:做网站

Tornado(基于协程和单线程单进程的框架实现非阻塞的网络框架),例如:在线客服


Flask框架的应用

from flask import Flask
"""
1、创建Flask的服务对象
2、声明请求资源(动态)
3、使用request请求对象(GET),获得请求方法(POST)
4、返回HTML
"""
app = Flask('Hi,Flask!')
@app.route('/hi', methods=['GET', 'POST'])
def hi():
    from flask import request
    if request.method == 'GET':
        return """
    <h1>用户登陆页面</h1>
    <form action="/hi" method="post">
    <input name="username" placeholder="用户名" /><br>
    <input name="password" type="password" placeholder="密码" /><br>
    <button>提交</button>
    </form>
    """
    else:
        # 获取表单数据
        name = request.form.get('username')
        password = request.form.get('password')
        if all((
                name == 'jasmine',
                password == '12345'
        )):
            return """
            <h2 style="color:blue;">登陆成功!</h2>
            """
        else:
            return """
            <h2 style="color:orange;">登陆失败!
            <a href="/hi">请重新登陆</a></h2>
            """
# 启动服务
app.run(host="localhost", port=5000)


相关文章
|
6天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
21 4
|
8天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
46 3
|
11天前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
42 5
|
2天前
|
JSON 搜索推荐 API
Python的web框架有哪些?小项目比较推荐哪个?
【10月更文挑战第15天】Python的web框架有哪些?小项目比较推荐哪个?
10 1
|
5天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
13 4
|
7天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【10月更文挑战第10天】本文比较了Python中三个最受欢迎的Web框架:Django、Flask和Pyramid。Django以功能全面、文档完善著称,适合快速开发;Flask轻量灵活,易于上手;Pyramid介于两者之间,兼顾灵活性和安全性。选择框架时需考虑项目需求和个人偏好。
18 1
|
8天前
|
前端开发 JavaScript UED
构建现代Web应用:使用React框架打造单页面应用
【10月更文挑战第9天】构建现代Web应用:使用React框架打造单页面应用
|
8天前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门
|
11天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【10月更文挑战第6天】本文比较了Python中三个最受欢迎的Web框架:Django、Flask和Pyramid。Django功能全面,适合快速开发;Flask灵活轻量,易于上手;Pyramid介于两者之间,兼顾灵活性和可扩展性。文章分析了各框架的优缺点,帮助开发者根据项目需求和个人偏好做出合适的选择。
21 4
|
12天前
|
JSON 测试技术 数据库
Python的Flask框架
【10月更文挑战第4天】Python的Flask框架