有Python基础后,3天就拿Flask开发项目系列博客之一

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有Python基础后,3天就拿Flask开发项目系列博客之一相关的知识,希望对你有一定的参考价值。

flask 几天入门指南

如果你有一些Python基础,现在希望能在最短的时间内上手 flask,并且将其实际使用到工作中,那本系列博客必须要看一下了。
本系列博客将从公司实战的角度快速让你入门 flask ,快速的完成落地应用,要效率。

在正式开始前,你需要具备以下几个能力

  1. Python 基础知识,语法了解越多越好
  2. 前端知识,包括html+CSS,越多越好,如果了解前端框架,上手会更加快速一些

准备好 Python3 ,准备好 PyCharm,找到 flask 的安装命令,开始吧

pip install Flask

先完成一个 hello world 的网页

# 导入Flask类
from flask import Flask

# 实例化,可视为固定格式
app = Flask(__name__)

# route()方法用于设定路由;
@app.route('/hello')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    # app.run(host, port, debug, options)
    # 默认值:host="127.0.0.1", port=5000, debug=False
    app.run(host="0.0.0.0", port=5000)

然后运行就得到如下结果,此时第一步就已经完成了。

在浏览器打开如下上述 5000 端口的访问地址,记住输入的是路由地址

http://192.168.0.123:5000/hello

上面代码中运行起服务器,还用到了路由的概念。

路由简单理解就是服务器通过特殊的名称,判断调用咱们写好的对应函数。
@app.route('/hello') 为设置路由,其中涉及路由名称配置,知识涉及Python装饰器函数的用法,如果理解有难度,搜索相关知识学习接口。

再理解一下 app.run(host="0.0.0.0", port=5000) 表示运行 flask 服务,具体细节可以暂时搁置,执行该代码就表示在电脑上可以对 flask 应用进行访问了。

获取用户请求数据

用户访问网站应用,最简单的方式就是通过 GET 请求,即通过地址栏携带参数的形式访问。例如下述格式:

http://192.168.0.123:5000/hello?name=橡皮擦

接下来咱们就在路由对应的函数中接收 name 参数。

# 导入Flask类
from flask import Flask
from flask import request
# 实例化,可视为固定格式
app = Flask(__name__)

# route()方法用于设定路由;
@app.route('/hello')
def hello_world():
    args = request.args # 获取所有参数
    print(args)
    return 'Hello, World!' + args['name']

if __name__ == '__main__':
    # app.run(host, port, debug, options)
    # 默认值:host="127.0.0.1", port=5000, debug=False
    app.run(host="0.0.0.0", port=5000)

上述代码需要重新运行,再次访问路由地址,才会发生改变。其中需要导入 flask 模块中的 request 对象,然后调用 args 属性,获取所有参数,该参数值类型是 ImmutableMultiDict ,可参考 Python 字典进行使用。

参数获取还可以使用 get_q = request.args.get("q","") ,即 get() 方法进行调用。

URL中可以提供多个参数

http://192.168.0.123:5000/hello?name=橡皮擦&age=18

接下来将Python函数与HTML页面对应起来,即 flask 中的模板。

在项目中创建一个 templates 目录,然后在其中创建名称为 hello.html 的文件,结构如下。

然后参考下述代码对之前的内容进行修改。

# 导入Flask类
from flask import Flask
from flask import request
from flask import render_template
# 实例化,可视为固定格式
app = Flask(__name__)

# route()方法用于设定路由;
@app.route('/hello.html')
def hello_world():
    args = request.args # 获取所有参数
    print(args)

    return render_template('hello.html')

if __name__ == '__main__':
    # app.run(host, port, debug, options)
    # 默认值:host="127.0.0.1", port=5000, debug=False
    app.run(host="0.0.0.0", port=5000)

访问 hello.html 页面,得到如下界面,此时的 Python 代码和静态页面已经产生了关联。

如果希望向HTML页面传递参数,可以在函数中声明一个变量,然后使用 render_template 函数传递过去。

@app.route('/hello.html')
def hello_world():
    args = request.args # 获取所有参数
    name =args.get('name')

    return render_template('hello.html',name=name)

使用 request.method 可以判断请求是 GET或者 POST。

至此,你可以尝试完成写入数据库的操作了,这也是我们下一篇博客的内容。

记录时间

2022年度 Flag,写作的 568 / 1024 篇。
可以关注我,点赞我、评论我、收藏我啦。

更多精彩


👇👇👇扫码加入【78技术人】~ Python 事业部👇👇👇

以上是关于有Python基础后,3天就拿Flask开发项目系列博客之一的主要内容,如果未能解决你的问题,请参考以下文章

麦子学院:Python Flask快速构建高性能大型企业级web网站项目实战

Flask | Flask基础 - Flask基础项目设置

python flask 基础入门

flask

python web开发用啥框架

为啥装 node.js 要先装 python.python 起到了啥作用