python——Flask web框架

简介

    Flask是一个使用python编写的轻量级的Web应用框架

          (Django是一个重量级的框架)

    Flask本身相当于一个内核,其他几乎所有的功能都要用到第三方拓展来实现

为什么要使用Web框架?

       避免重复造轮子

典例1

from flask import Flask

app = Flask(__name__)

@app.route('/')    #装饰器
def hello_world():
    return "Hello World!"


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

ctrl+c就停止了

典例2

from flask import Flask

app = Flask(__name__)

@app.route('/')    #装饰器
def hello_world():
    return "Hello World!"

@app.route('/abc')
def hello_world1():
    return """
    <form>
        账号:<input><br>
        密码:<input>
    </form>
    """

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

典例3

from flask import Flask
from flask import request

app = Flask(__name__)

@app.route('/')    #装饰器
def hello_world():
    return "Hello World!"

@app.route('/login')    #装饰器
def hello_world2():
    name = request.values.get("name")
    pwd = request.values.get("pwd")
    return f'name={name}, pwd={pwd}'


@app.route('/abc')
def hello_world1():
    return """
    <form action="/login">
        账号:<input name="name"><br>
        密码:<input name="pwd">
        <input type="submit">
    </form>
    """

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

点击提交之后

模板

如果我们的整个页面都是靠这种返回字符串的形式来完成网页的话,那是肯定不行的

整个网页可能是成千上万行代码

这个时候我们就需要靠 模板

from flask import Flask
from flask import render_template

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route('/tem')
def hello_world3():
    return render_template("index.html")


if __name__ == '__main__':
    app.run()
#index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>My Page</title>
</head>
<body>
    <h1>疫情追踪</h1>
</body>
</html>

使用Ajax局部刷新页面

比如页面不变,但是某张图变一下

基本格式:

from flask import Flask
from flask import render_template

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'

@app.route('/tem')
def hello_world3():
    return render_template("index.html")

@app.route('/ajax', methods=["get","post"])
def hello_world4():
    return '10000'

if __name__ == '__main__':
    app.run()
#index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>My Page</title>
    <script src="../static/js/jquery-1.11.1.min.js"></script>
</head>
<body>
    <h1>疫情追踪</h1>
    <h3>实时报道</h3>
    <button>点我有惊喜</button>
    <script>
        $("button").click(function () {
            $.ajax({
                url:"/ajax",
                type:"post",
                data:{"name":"李四","score":99},
                success:function (d) {
                    $("h1").html("武汉感染人数"+d)
                },
                error:function () {
                    alert("发送ajax请求失败")
                }
            })

        })
    </script>
</body>
</html>

发布了396 篇原创文章 · 获赞 172 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/hxxjxw/article/details/104781356