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

梦想橡皮擦 发表于 2022/02/25 15:57:45 2022/02/25
【摘要】 flask 几天入门指南如果你有一些Python基础,现在希望能在最短的时间内上手 flask,并且将其实际使用到工作中,那本系列博客必须要看一下了。本系列博客将从公司实战的角度快速让你入门 flask ,快速的完成落地应用,要效率。在正式开始前,你需要具备以下几个能力Python 基础知识,语法了解越多越好前端知识,包括HTML+CSS,越多越好,如果了解前端框架,上手会更加快速一些准备...

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)

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

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

在浏览器打开如下上述 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 篇。
可以关注我,点赞我、评论我、收藏我啦。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。