lhl
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
  • python

    • Python 基础

    • Python 数据库

    • 面向对象

    • Python Web

      • flask 入门
        • WSGI接口
        • flask
      • flask 与 http
      • flask模板
      • flask表单
      • flask数据库
    • Python 进阶

  • leetcode

  • 软件测试

  • Git

  • linux

  • 产品

  • MySql

  • docker

  • python
  • Python_Web
2023-07-21
目录

flask 入门

# WSGI接口

https://www.liaoxuefeng.com/wiki/1016959663602400/1017805733037760 (opens new window)

# flask

# 简单使用

from flask import Flask
from flask import request

app = Flask(__name__)


@app.route('/', methods = ['GET', 'POST'])
def home():
    return '<h1>home</h1>'


@app.route('/signin', methods=['GET'])
def signin_form():
    return """
        <form action="/signin" method="post">
            <p><input name="username"></p>
            <p><input name="password" type="password"></p>
            <p><button type="submit">Sign In</button></p>
        </form>
    """


@app.route('/signin', methods= ['POST'])
def signin():
    if request.form['username'] == 'admin' and request.form['password'] == 'password':
        return '<h3>hello admin</h3>'
    else:
        return '<h3>bad username or password</h3>'


在一个Web应用里,客户端和服务器上的Flask程序的交互可以简单概括为以下几步:

  1. 用户在浏览器输入URL访问某个资源。
  2. Flask接收用户请求并分析请求的URL。
  3. 为这个URL找到对应的处理函数。
  4. 执行函数并生成响应,返回给浏览器。
  5. 浏览器接收并解析响应,将信息显示在页面中。

在上面这些步骤中,大部分都由Flask完成,我们要做的只是建立处理请求的函数,并为其定义对应的URL规则。

app = Flask(__name__),初始化 app,在项目根目录执行flask run 命令用来启动内置的开发服务器。

只需为函数附加app.route()装饰器,并传入URL规则作为参数,我们就可以让URL与函数建立关联。

@app.route('', methods=['']), 注册路由并规定请求方式。

这个过程我们称为注册路由(route),路由负责管理URL和函数之间的映射,而这个函数则被 则被称为视图函数(view function)。

# Flask 扩展

扩展(extension)即使用Flask提供的API接口编写的Python库,可以为Flask程序添加各种各样的功能。

大部分Flask扩展用来集成其他库,作为Flask和其他库之间的薄薄一层胶水。

因为Flask扩展的编写有一些约定,所以初始化的过程大致相似。大部分扩展都会提供一个扩展类,实例化这个类,并传入我们创建的程序实例app作为参数,即可完成初始化过程。

通常,扩展会在传入的程序实例上注册一些处理函数,并加载一些配置。

# 项目配置

在一个项目中,你会用到许多配置:Flask提供的配置,扩展提供的配置,还有程序特定的配置。

和平时使用变量不同,这些配置变量都通过Flask对象的app.config属性作为统一的接口来设置和获取,它指向的Config类实际上是字典的子类,所以你可以像操作其他字典一样操作它。

app.config['ADMIN_NAME']='Peter'

# 模板和静态文件

默认情况下,模板文件存放在项目根目录中的templates文件夹中,静态文件存放在static文件夹下,

这两个文件夹需要和包含程序实例的模块处于同一个目录下.

#flask
枚举类
flask 与 http

← 枚举类 flask 与 http→

最近更新
01
lhl learn notes
02
filter
06-09
03
decorator
06-09
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式