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()

点击提交之后

 

flask运行时指定地址和端口

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


if __name__=="__main__":
    app.run(host="0.0.0.0", port=80)

 

 

模板

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

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

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

 

 

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>

 

Flask的jsonify()函数

将字典转成json字符串
 

 

 

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask web开发实战中,前端部分可以使用一些插件和工具来增强网站的功能和效果。其中一些值得研究的包包括: 1. Flask-Bootstrap:这个包提供了Bootstrap框架的集成,可以方便地使用Bootstrap的样式和组件来构建网站界面。\[1\] 2. Flask-Babel:这个包提供了国际化和本地化支持,可以帮助开发者轻松地实现多语言网站。\[3\] 3. Flask-RESTful:这个包是用于开发REST API的工具,可以帮助开发者构建符合RESTful架构的API接口。\[3\] 4. Flask-Assets:这个包用于合并、压缩和编译CSS和JavaScript静态资源文件,可以提高网站的加载速度和性能。\[3\] 除了这些包之外,还有一些其他的包可以用于处理后台作业、实现认证功能、实现全文搜索等等。具体使用哪些包取决于项目的需求和开发者的偏好。\[3\] #### 引用[.reference_title] - *1* *3* [Flask Web开发:基于PythonWeb应用开发实战](https://blog.csdn.net/xiaochendefendoushi/article/details/81040871)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [web前端开发——期末大作业网页制作——web网页设计期末课程大作业 HTML+CSS+JS网页设计期末课程大作业 web...](https://blog.csdn.net/qq_38514421/article/details/127563514)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值