这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战
学习python的时候,接触到了flask,这是一个用python语言实现的web框架,使用到了Werkzeug工具箱,作为一个轻量级web开发框架,它主要面向需求简单,项目开发周期也很短的项目。
flask框架可以用来做白盒测试,也就是代码自测吧,最近稍微学习了一些,总结一下。
安装Flask
首先是安装,在python中安装flask,可以直接使用pip命令。如果你的电脑上没有pip命令的,可以手动下载Flask的lib包进行安装。
pip install flask
flask的第一个程序——hello world
先来一个helloworld程序简单的测试一下安装的是否正确。
from flask import Flask
app=Flask(__name__)
@app.route('/')
def hello_world():
return"<h1>hello world</h1>"
if__name__ =='__main__':
app.run()
当运行一个flask的时候,想要运行第二个,一定要将前几个都关闭掉,不然后下一个会运行不成功。原因猜测是域名重复了,因为每次都是127.0.0.1,可能设置不一样的端口会成功??
Run-Stop。
Flask本身不会限定数据库,不管你是想用关系型还是非关系型数据库都可以。
Flask网页
我们再创建一个flask文件,设计一个web网页,要知道flask的核心就是web页面设计。
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/hello') //路由页面一层
@app.route('/hello/<name>') //路由页面二层
def hello(name=None):
return render_template('hello.html', name=name) //参数为hello.html页面和name
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
这段代码”hello()”函数并不是直接返回字符串,而是调用了”render_template()”方法来渲染模板。方法的第一个参数”hello.html”指向你想渲染的模板名称,第二个参数”name”是你要传到模板去的变量,变量可以传多个。
在当前目录下创建一个名为“templates”的子目录,在该目录里面创建一个“hello.html”文件。内容如下:
<!doctype html>
<title>Hello Test</title>
{% if name %}
<h1>Hello {{ name }}!</h1>
{% else %}
<h1>Hello World!</h1>
{% endif %}
如果name有值,则输出 Hello name,否则输出Hello World!。
接下来运行这段代码,打开http://localhost:5000/hello/man即可看到结果。
Hello Test
Hello man!
如果你是打开http://localhost:5000/hello就会看到结果
Hello Test
Hello World!