flask有两部分库组成:werkzeug 和jinja2,flask 对werkzeug进行一系列的封装,让我们使用werkzeug更方便。
werkzeug:处理application
jinja2:渲染html
flask使用4步曲:
from flask import Flask, request,render_template
# flask中所有请求到后端的请求数据都会保存在request对象中
# 1.初始化app
app = Flask(__name__)
# 2.添加路由 view function
@app.route("/login")
def login():
datas = request.args # 对后台服务发起get请求的数据会被存在request.args对象中。
print(datas.get('name'))
return render_template('index.html')
# 3.开启web服务器:app对象(application)
# 4.调试(debug模式为开发时的调试模式,不能用在生产上,一般线上用ng或者uwsgi)
app.run(debug=True)
__name__:当运行flask时,如果要其他路径的资源,程序会基于当前run的地方去找资源。
flask中所有请求到后端的请求数据都会保存在request对象中
request.args 对后台服务发起get请求的数据会被存在request.args对象中
from flask import Flask, request
# flask中所有请求到后端的请求数据都会保存在request对象中
app = Flask(__name__)
print(__name__) # __main__
@app.route("/login")
def login():
datas = request.args # 对后台服务发起get请求的数据会被存在request.args对象中。
print(datas.get('name'))
return "请求了登录"
app.run(debug=True)
template_folder参数:
render_template('template的路径'):返回html文件资源
from flask import render_template
Flask(__name__,template_folder='xxx')
或者重写Flask()里面的参数template_folder,指定自定义的路径即可。
static_url_path参数:
Flask(__name__,static_url_path='/xxx')
必须以/开头,前端访问的时候告诉用户,静态文件保存在哪一个url下。
static_folder参数:
Flask(__name__,static_folder='xxx')
告诉后端服务,静态文件必须放到指定的xxx目录下,不然找不到。