有Python基础后,3天就拿Flask开发项目系列博客之一
Posted 梦想橡皮擦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有Python基础后,3天就拿Flask开发项目系列博客之一相关的知识,希望对你有一定的参考价值。
flask 几天入门指南
如果你有一些Python基础,现在希望能在最短的时间内上手 flask,并且将其实际使用到工作中,那本系列博客必须要看一下了。
本系列博客将从公司实战的角度快速让你入门 flask ,快速的完成落地应用,要效率。
在正式开始前,你需要具备以下几个能力
- Python 基础知识,语法了解越多越好
- 前端知识,包括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 篇。
可以关注我,点赞我、评论我、收藏我啦。
更多精彩
以上是关于有Python基础后,3天就拿Flask开发项目系列博客之一的主要内容,如果未能解决你的问题,请参考以下文章