写点什么

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

作者:梦想橡皮擦
  • 2022 年 3 月 08 日
  • 本文字数:1710 字

    阅读完需:约 6 分钟

有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 Flaskfrom 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 Flaskfrom flask import requestfrom 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。


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


发布于: 刚刚阅读数: 2
用户头像

爬虫 100 例作者,蓝桥签约作者,博客专家 2021.02.06 加入

6 年产品经理+教学经验,3 年互联网项目管理经验; 互联网资深爱好者; 沉迷各种技术无法自拔,导致年龄被困在 25 岁; CSDN 爬虫 100 例作者。 个人公众号“梦想橡皮擦”。

评论

发布
暂无评论
有Python基础后,3天就拿Flask开发项目系列博客之一_3月月更_梦想橡皮擦_InfoQ写作平台