Flask的简单学习

简介

Flask是一个非常小的PythonWeb框架,被称为微型框架;只提供了一个稳健的核心,其他功能全部是通过扩展实现的;意思就是我们可以根据项目的需要量身定制,也意味着我们需要学习各种扩展库的使用。

flask的安装

pip install flask

创建一个flask项目


目录结构如下

  • app.py

主文件,所有的操作都在该文件实现

  • static

静态文件存放地

  • templates

模板文件存放地

启动Flask

编写app.py

from flask import Flask


app = Flask(__name__)    # 注册app


# 路由设置
@app.route('/')
def hello_world():  # put application's code here
    return 'Hello World!'




if __name__ == '__main__':
    app.run() # 启动服务

Flask路由学习

methods的使用

编写app.py

from flask import Flask

app = Flask(__name__)


@app.route('/f12', methods=['GET'])
def hello1():  # put application's code here
    return 'f12'

@app.route('/f13', methods=['POST'])
def hello2():
    return 'f13'

@app.route('/f14', methods=['GET', 'POST'])
def hello3():
    return 'f14'

if __name__ == '__main__':
    app.run()

通过GET请求访问

通过POST请求访问

GET,POST请求都能访问

传参式路由访问

编写app.py,定义一个int:id表明传入一个int类型的值

from flask import Flask

app = Flask(__name__)

@app.route('/<int:id>')
def index(id):
    if id == 1:
        return 'first'
    elif id == 2:
        return 'second'
    elif id == 3:
        return 'third'
    else:
        return 'hello world!'
if __name__ == '__main__':
    app.run()

request的使用

编写app.py

from flask import Flask, request

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def index():
    return request.form.get('name')
if __name__ == '__main__':
    app.run()

获取POST参数的内容并输出

重定向的使用

编写app.py

import flask
from flask import Flask, url_for

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def index():
    return flask.redirect(url_for("hello"))   # 重定向到hello


@app.route('/hello')
def hello():
    return "你好 F12"
if __name__ == '__main__':
    app.run()

访问会直接跳转到hello路由

模板使用

在templates文件夹下创建index.html文件
编写index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
Hello world
</body>
</html>

编写app.py

import flask
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def index():
   return render_template('index.html')
if __name__ == '__main__':
    app.run()

模板变量使用

编写index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{{ name }}
</body>
</html>

编写app.py

import flask
from flask import Flask, render_template, request

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def index():
    name = request.form.get('name')
    return render_template('index.html', name=name)
if __name__ == '__main__':
    app.run()

posted @ 2024-01-18 17:00  F12~  阅读(39)  评论(0编辑  收藏  举报