Flask基本用法
Flask基本用法
Flask基本结构
# 引入Flask包,使得我们可以创建Flask应用实例
from flask import Flask
# 创建一个Flask应用实例。`__name__` 是Python内置变量,它表示当前模块的名称。
# 在这里,`__name__` 被传递给Flask构造函数,用于确定应用程序的基本目录(如静态文件和模板的查找路径),尤其是在多模块或包结构中。
app = Flask(__name__)
# 使用Flask的路由装饰器 `@app.route()` 来定义URL与函数之间的映射关系。
# 这里定义了一个访问路径 "/index",当用户在浏览器中访问此路径时,将触发执行下面的 `index()` 函数。
@app.route("/index")
def index():
# 注释:`index()` 函数返回一个字符串,内容为 "这是index网页"。
# 这是最简单的响应方式,直接向客户端返回一个纯文本消息作为网页内容。
return "这是index网页"
# 检查当前脚本是否为直接运行的主模块(而不是被其他模块导入)。如果是,则执行以下代码。
# 这种结构确保当文件被直接运行(如通过命令行 `python app.py`)时,启动Flask应用服务器。
if __name__ == '__main__':
# 调用 `app.run()` 方法来启动本地开发服务器。
# 参数说明:
# - `host='0.0.0.0'`:设置服务器监听所有可用网络接口(包括局域网和互联网,如果防火墙允许的话),而非仅限localhost。
# - `port=5000`:指定服务器监听的端口号为5000。
# - `debug=False`:关闭调试模式。在生产环境中,通常应关闭调试模式以提升性能和安全性。
app.run(host='0.0.0.0', port=5000, debug=False)
templates目录用于存放html文件
在flask中需要引入render_template
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/register')
def register():
return render_template('register.html')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=False)
请求方式
GET请求
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/register', methods=['GET'])
def register():
return render_template('register.html')
@app.route("/do/register", methods=['GET'])
def do_register():
get_info = request.args
return get_info
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
POST请求
@app.route("/post/register", methods=['POST'])
def post_register():
get_info = request.form
username = request.form.get("username")
passwd = request.form.get("passwd")
sex = request.form.get("sex")
hobby_list = request.form.getlist("hobby")
city = request.form.get("city")
more = request.form.getlist("textarea")
print(username, passwd, sex, hobby_list, city, more)
return get_info