下面我将为您详细讲解“python框架中flask知识点总结”的完整攻略。
什么是Flask?
Flask是一个基于Python的轻量级Web应用框架,由Armin Ronacher在2010年创建。Flask的核心是Werkzeug和Jinja2,Werkzeug负责提供Web应用的基本结构,Jinja2则负责模板渲染。
Flask的优点
Flask具有以下优点:
-
简单、轻量级
-
易于扩展
-
灵活性高
-
微框架,无需依赖其他库
Flask的基本结构
-
Flask对象
-
Flask对象的路由配置
-
请求和响应
下面我们一个一个来讲解。
Flask对象
在初始化Flask应用程序之前,必须创建一个app对象。
Flask对象的创建方式如下:
from flask import Flask
app = Flask(__name__)
其中,__name__
表示当前模块的名字。创建Flask对象之后,可以通过装饰器来对Flask应用程序进行路由配置。
Flask对象的路由配置
路由是指URL与处理函数的对应关系。在Flask中,可以通过装饰器来对Flask应用程序进行路由配置。
例如:
@app.route('/')
def hello():
return "Hello World!"
这段代码的作用是,当用户访问根URL时,将会执行hello()
函数并返回"Hello World!"。
另外,还有一个常见的路由配置方式,即使用add_url_rule()
函数来添加路由:
def hello():
return "Hello World!"
app.add_url_rule('/', 'hello', hello)
这段代码的作用与上面的代码片段相同。
请求和响应
在Flask中,可以通过装饰器来指定视图函数处理哪些HTTP请求方法。例如:
@app.route('/', methods=['GET'])
def hello():
return "Hello World!"
这段代码的作用是,当用户用GET方法请求根URL时,将会执行hello()
函数并返回"Hello World!"。
视图函数在返回响应时,可以使用make_response()
函数来构造出一个完整的响应对象。例如:
from flask import make_response
def hello():
response = make_response("Hello World!")
response.headers['Content-Type'] = 'text/plain'
return response
这段代码的作用是,构造出一个由"Hello World!"组成的响应,并设置响应头的内容类型为"text/plain"。
Flask应用程序的启动
在Flask中,可以通过以下方式启动应用程序:
if __name__ == '__main__':
app.run()
这段代码的作用是,当运行当前模块时,如果该模块是主模块,则启动Flask应用程序。
Flask的示例说明
下面,我将给您提供两个Flask的示例说明。
示例1:用户表单
以下代码使用Flask处理一个用户表单提交:
@app.route('/submit', methods=['GET', 'POST'])
def submit():
if request.method == 'POST':
name = request.form['name']
age = request.form['age']
gender = request.form['gender']
return "Name: {}<br>Age: {}<br>Gender: {}".format(name, age, gender)
else:
return '''
<form method="post">
<p>What is your name?</p>
<input type="text" name="name" required>
<p>What is your age?</p>
<input type="number" name="age" required>
<p>What is your gender?</p>
<input type="radio" name="gender" value="male" required> Male<br>
<input type="radio" name="gender" value="female" required> Female<br>
<input type="radio" name="gender" value="other" required> Other<br>
<p><input type="submit" value="Submit"></p>
</form>
'''
这段代码的作用是,当用户提交表单时,将会在页面上显示用户的姓名、年龄和性别。
示例2:文件上传
以下代码使用Flask 实现上传文件并保存在本地:
@app.route('/upload', methods=['GET', 'POST'])
def upload():
if request.method == 'POST':
f = request.files['file']
f.save('upload_data/' + f.filename)
return "Upload Success!"
else:
return '''
<form method="post" enctype="multipart/form-data">
<p>Please choose a file:</p>
<input type="file" name="file">
<p><input type="submit" value="Upload"></p>
</form>
'''
这段代码的作用是,当用户上传文件时,将会将文件保存在本地"upload_data/"目录下,并在页面上显示"Upload Success!"。
这就是对“python框架中flask知识点总结”的完整攻略,希望能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python框架中flask知识点总结 - Python技术站