聊聊后端Web开发框架(Python)的简单使用

131 阅读2分钟
  • 页面渲染:客户端渲染页面(SPA)、服务端渲染页面(模板技术)
    • 数据库连接技术:数据库连接池、数据访问
    • 服务管理:接口、路由、权限
    • 异步任务调度:异步、同步、回调
    • Python:Flask
    • Java:Spark Java
    • Python:Django
    • Java:Spring 全家桶
  • Flask

Flask 是一个使用 Python 编写的轻量级 Web 应用程序框架。

官网:flask.palletsprojects.com/en/2.0.x/

安装

使用 pip 进行安装:

pip install Flask

简单使用

安装好后,输入以下代码开启 flask 服务:

from flask import Flask
# 指定 Flask 名字为文件名
app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"
    
    ```
    
    可以在命令行运行代码,下面命令的hello 是文件名:
    
    Windows 使用 CMD 运行:
    ```
    > set FLASK_APP=hello
    > flask run
     * Running on http://127.0.0.1:5000/
     
     ```
     
     MAC 或 Linux 使用 BASH 运行:
     ```
     $ export FLASK_APP=hello
     $ flask run
      * Running on http://127.0.0.1:5000/
      
      ```
      
       ,可获得响应:
       ```
       Hello, World!
       
       ```
       
       对 /login 路径返回指定请求:
       ```
       from flask import Flask, request
       
       app = Flask(__name__)
       
       # methods 代表只监听 get 和 post 请求
       @app.route("/login", methods=['post', 'get'])
       def login():
           res = {
                   "methods": request.method, # 请求方法
                           "path": request.path, # 请求路径
                                   "args": request.args, # 请求参数
                                           "form": request.form # 表单
                                               }
                                                   return res
                                                   
                                                   ```
                                                   
                                                    时:
                                                    ```
                                                    {
                                                    "args": {
                                                    "a": "1",
                                                    "b": "2"
                                                    },
                                                    "form": {},
                                                    "methods": "GET",
                                                    "path": "/login"
                                                    }
                                                    
                                                    ```
                                                    
                                                    使用 curl 命令发送 post 请求:
                                                    ```
                                                    curl -X POST [http://127.0.0.1:5000/login](http://127.0.0.1:5000/login) -d "a=2"
                                                    
                                                    ```
                                                    
                                                    ```
                                                    {"args":{},"form":{"a":"2"},"methods":"POST","path":"/login"}
                                                    
                                                    ```
                                                    
                                                    ## Session
                                                     
                                                     Session 是基于 Cookie 实现, 保存在服务端的键值对,在浏览器的 Cookie 中也对应相同的随机字符串,用来再次请求的时候验证:
                                                     ```
                                                     from flask import Flask, request, session
                                                     
                                                     app = Flask(__name__)
                                                     # 配置密钥
                                                     app.secret_key = "hello"
                                                     
                                                     # methods 代表只监听 get 和 post 请求
                                                     @app.route("/login", methods=['post', 'get'])
                                                     def login():
                                                         # 使用 session 将请求的 name 参数存到 session
                                                             session["name"] = request.args.get("name")
                                                                 return {"msg": "OK"}
                                                                 
                                                                 ```
                                                                 
                                                                 在发起请求的浏览器可以看到 Cookies :
                                                                 ![](https://ceshiren.com/uploads/default/original/3X/e/6/e6bd62e1360c90027b75f33c0eebe5e3930da844.png)
                                                                 
                                                                 后端web开发框架就先介绍到这里,大家可以试着做一下练习,我们后面会讲数据持久化技术,请持续关注哦~
                                                                 
                                                                 [原文链接](https://mp.weixin.qq.com/s?__biz=MzU3NDM4ODEzMg==&mid=2247499692&idx=1&sn=c5ff02e2d6186fea8b4d959e227233ad&chksm=fd319d67ca461471730fb0baac28d2523f29b70fa72176ea3d6836fdd68e857ea365db69d0ae#rd) 
                                                                 
                                                                 [更多技术文章](https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=juejin&timestamp=1663233229&author=ML