Flask学习之路

330 阅读2分钟

这是我参与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!