- 为什么要开启debug模式?
- debug开启步骤
- 通过用户访问的路径,匹配相应的函数
- 通过访问路径,获取用户字符串参数
- 一个参数
- 多个参数
- 通过访问路径,获取用户整型参数
- 通过访问路径,获取用户float参数
- 向页面传递一个变量
- 普通变量
- 列表类型
- 字典类型
- 提交表单
- 项目目录
- app.py
- register.html
- result.html
- 及时可以刷新网页,更新数据
- 一些错误,也可以展现在网页上,比如404、
一、右上角打开多选框
二、找到编辑配置
三、在FLASK_DEBUG上打勾、应用即可
from flask import Flask
app = Flask(__name__)
#路由解析,通过用户访问的路径,匹配相应的函数
@app.route('/')
def hello_world():
return '你好!'
if __name__ == '__main__':
app.run()
通过访问路径,获取用户字符串参数
一个参数
from flask import Flask
app = Flask(__name__)
#路由解析,通过用户访问的路径,匹配相应的函数
@app.route('/user/' )
def welcom(name):
return '你好,%s!'%name
if __name__ == '__main__':
app.run()
多个参数
from flask import Flask
app = Flask(__name__)
#路由解析,通过用户访问的路径,匹配相应的函数
@app.route("/user//" )
def welcom(name,name1):
return "你好,%s!,你好,%s!"%(name,name1)
if __name__ == '__main__':
app.run()
通过访问路径,获取用户整型参数
from flask import Flask
app = Flask(__name__)
# 通过访问路径,获取用户整型参数
@app.route("/user/" )
def welcom2(id):
return "你好,%d!号的会员"%id
if __name__ == '__main__':
app.run()
通过访问路径,获取用户float参数
与上面整型参数类似,就不写了
路由路径不能重复,用户通过唯一路径访问特定的函数
向页面传递一个变量 普通变量
app.py界面
from flask import Flask,render_template
import datetime
app = Flask(__name__)
#向页面传递一个变量
@app.route("/")
def index2():
time = datetime.date.today()
return render_template("index.html",var = time)
if __name__ == '__main__':
app.run()
index.html界面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
今天是{{ var }},欢迎光临。
</body>
</html>
注意变量传递,用{{ }}访问一般变量
@app.route("/")
def index2():
time = datetime.date.today() #普通变量
name = ["小张","小王","小泽"] #列表类型
return render_template("index.html",var = time,list = name)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
今天是{{ var }},欢迎光临。<br/>
今天值班的有:<br/>
{% for data in list %} <!--用大括号和百分号括起来的是控制结构,还有if-->
<li>{{ data }}</li>
{% endfor %}
</body>
</html>
字典类型
@app.route("/")
def index2():
time = datetime.date.today() #普通变量
name = ["小张","小王","小泽"] #列表类型
task = {"任务":"打扫卫生","时间":"3小时"} #字典类型
return render_template("index.html",var = time,list = name,task = task)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
今天是{{ var }},欢迎光临。<br/>
今天值班的有:<br/>
{% for data in list %} <!--用大括号和百分号括起来的是控制结构,还有if-->
<li>{{ data }}</li>
{% endfor %}
任务:<br/> <!--了解一下如何在页面上打印表格,以及如何迭代-->
<table border="1"> <!--<table border="1"> 代表 表格有边界 -->
{% for key,value in task.items() %} <!--[(key,value),(key,value),(key,value)]-->
<tr>
<td>{{key}}</td> <!--<td></td>为列 ,<tr></tr>是行 -->
<td>{{value}}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
提交表单
项目目录
app.py
from flask import Flask,render_template,request
import datetime
app = Flask(__name__)
# 表单提交
@app.route('/test/register')
def register():
return render_template("test/register.html") # 文件路径 register.html放在test下
#接收表单提交的路由,需要指定的methods为
@app.route('/result',methods = ['POST','GET'])
def result():
if request.method == 'POST':
result = request.form
return render_template("test/result.html",result = result)
if __name__ == '__main__':
app.run()
register.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="{{url_for('result') }}" method="post"> <!-- url_for('result')自动导向函数名,方便后面修改 -->
<p>姓名:<input type="text" name="姓名"></p>
<p>年龄:<input type="text" name="年龄"></p>
<p>性别:<input type="text" name="性别"></p>
<p>地址:<input type="text" name="地址"></p>
<p><input type="submit" value="提交"></p>
</form>
</body>
</html>
result.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table border="1"> <!--<table border="1"> 代表 表格有边界 -->
{% for key,value in result.items() %} <!--[(key,value),(key,value),(key,value)]-->
<tr>
<th>{{key}}</th>
<td>{{value}}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)