当我们构建一个接口测试平台或者管理一些脚本的时候,我们通常希望有一个Web页面来维护。今天,我们将介绍一个用python编写的轻量级web应用程序框架,它很容易与自己的开发服务器和调试器一起使用。
Flask是一个依赖jinja2模板和Werkzeug WSGI服务的微型框架。对于Werkzeug来说,本质上是一个Socket服务器,用来接收http请求并对其进行预处理,然后触发Flask框架。开发人员基于Flask框架提供的功能处理请求,并将它们返回给用户。如果要将复杂的内容返回给用户,就需要使用jinja2模板来实现模板的处理,也就是渲染模板和数据,并渲染渲染的模板和数据。
第一,必要的环境
1.python开发环境,给一个python下载地址:https://www.python.org/,,百度安装教程。
2 .烧瓶转移:pip安装烧瓶
二、词条hello world1。示例:
test.py
从烧瓶进口烧瓶
app = Flask(__name__)
@app.route("/user/")
def用户(名称):
返回“hello %s!”%name
if __name__ == '__main__ ':
应用程序运行(调试=真)
2.运行测试。py
在接口上输出多一行访问记录
4.@app.route('/user/')
与@app.route('/')相同,如果部署者的服务器域名为http://127.0.0.1:5000/,在浏览器中访问http://127.0.0.1:5000/会触发服务器执行以下修改函数。
运行(调试=真)
程序实例使用run方法启动Flask继承的Web服务器。
6.if __name__ == '__main__ '
Python解释器读取py文件时,会执行它找到的所有代码。在执行代码之前,它定义了一些变量。例如,如果py文件是主程序,它会将__name__变量设置为“__main__”。如果此py被引入到另一个模块,则__name__将被设置为该模块的名称。
V.烧瓶的其他功能
1.模板渲染
用Python生成HTML比较麻烦,因为必须手动转义HTML才能保证应用的安全性。为此,Flask配备了Jinja2模板引擎。您可以使用render_template()方法来呈现模板。您所需要做的就是将模板名称和您想要用作关键字的参数传递到模板的变量中。下面是一个演示如何呈现模板的简单示例:
从烧瓶导入渲染模板
@app.route('/hello/')
@ app . route('/hello/& lt;'名称>)
def hello(名称=无):
返回render_template('hello.html ',name=name)
Flask将在模板文件夹中查找模板。因此,如果您的应用程序是一个模块,这个文件夹应该与模块处于同一级别,如果它是一个包,那么这个文件夹就作为包的子目录。
2.重定向和错误
您可以使用redirect()函数将用户重定向到其他地方。放弃请求并返回错误代码,使用abort()函数。默认情况下,错误代码显示一个黑白错误页面。如果您想自定义错误页面,可以使用errorhandler()装饰器
从烧瓶导入中止,重定向,url_for
@app.route('/')
def索引():
返回重定向(url_for('login '))
@app.route('/login ')
def login():
中止(401)
这是从不执行的
@app.errorhandler(404)
def page_not_found(错误):
返回render _ template(' page _ not _ found . html '),404
3.记录
从烧瓶0.3开始,烧瓶预设了一个日志系统
app.logger.debug('用于调试的值')
app.logger.warning('出现警告(%dapples '),42)
app.logger.error('出现错误')
4.会话
会话对象存储不同请求之间特定用户的信息。它是在Cookies的基础上实现的,Cookies是密钥签名的。这意味着用户可以查看您的Cookie的内容,但不能修改它,除非用户知道签名的密钥。
fromflaskimportFlask,会话,重定向,url_for,转义,请求
app=Flask(__name__)
@app.route('/')
defindex():
如果会话中有“username ”:
返回“以% s“% escape”身份登录(会话[“用户名”])
返回“您没有登录”
@app.route('/login ',方法=['GET ',' POST'])
deflogin():
ifrequest.method=='POST ':
session[' username ']= request . form[' username ']
returnredirect(url_for('index '))
返回'''
& ltform action = " " method = " post " >
& ltp>。& ltinput type=text name=username>。
& ltp>。& lt输入类型=提交值=登录>;
& lt/form>。
“”
@ app . route('/注销')
deflogout():
#从会话中删除用户名(如果有)
会话. pop('用户名',无)
returnredirect(url_for('index '))
#设置密钥。保守这个秘密:
app . secret _ key = ' a0zr 98j/3yX R ~ XHH!LWX/,?' RT '
Flask框架的介绍到此结束。剩下的就是让大家在日常工作中继续学习和使用这个框架。
1.《flask框架 Flask框架使用》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《flask框架 Flask框架使用》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/609780.html