【首发】有Python基础后,3天就拿Flask开发项目系列博客之一
【摘要】 flask 几天入门指南如果你有一些Python基础,现在希望能在最短的时间内上手 flask,并且将其实际使用到工作中,那本系列博客必须要看一下了。本系列博客将从公司实战的角度快速让你入门 flask ,快速的完成落地应用,要效率。在正式开始前,你需要具备以下几个能力Python 基础知识,语法了解越多越好前端知识,包括HTML+CSS,越多越好,如果了解前端框架,上手会更加快速一些准备...
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 篇。
可以关注我,点赞我、评论我、收藏我啦。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)