一:
1: 路由: 我们可以通过url_map来查看所有的路由映射 /static 是映射到了static目录下,可以在目录中存放静态资源(图片,css,js)
2: 命令启动服务 : 我们可以试验flask run 命令来启动服务,这样子默认会在当前目录下找app.py文件,默认是 Environmen环境设置为production
二: 请求带参:
1:路径中带参
标准格式 /path/<参数>
默认参数格式是字符串 但是我们还可以使用其他类型,只需要使用类继承BaseConverter函数
三:处理请求:
1:flask提供了视图函数,可以在视图函数中处理请求
2:form获取表单传参:
title = request.form.get("title")
price = request.form.get("price")
3:获取json格式传参:
title = request.json.get("title")
price = request.json.get("price")
4:获取文件上传
file1 = request.files.get("file1")
保存文件 file1.save(path)
四:响应:
1,返回字符串
默认就可以直接返回字符串,其实返回的还是网页,只不过内容是纯文本
return "返回图书集合"
2: 返回模板网页
from flask import render_template
@app.route("/", methods=["GET", "POST"])
def hello_world():
return render_template("home.html")
扩展jinjia2末班引擎:
Jinjia2模板 和我们django 内置模板语法 基本一致, 我们简单了解
我们在 视图中 定义好 变量数据
@app.route("/", methods=["GET", "POST"])
def hello_world():
new_list = ["新闻1", "新闻2", "新闻3", "新闻4"]
return render_template("home.html", news={"news_list": new_list, "title": "我是新标题"})
在模板中使用:
{{变量名}} 会展示变量的值
{% for 语句 %} 循环体 {% endfor %}
<body>
<h1>{{ news.title }}</h1>
<h1>《功勋-李延年》</h1>
{% for item in news.news_list %}
<p>{{ item }}</p>
{% endfor %}
</body>