文章目录

  • 为什么要开启debug模式?
  • debug开启步骤
  • 通过用户访问的路径,匹配相应的函数
  • 通过访问路径,获取用户字符串参数
  • 一个参数
  • 多个参数
  • 通过访问路径,获取用户整型参数
  • 通过访问路径,获取用户float参数
  • 向页面传递一个变量
  • 普通变量
  • 列表类型
  • 字典类型
  • 提交表单
  • 项目目录
  • app.py
  • register.html
  • result.html


为什么要开启debug模式?

  1. 及时可以刷新网页,更新数据
  2. 一些错误,也可以展现在网页上,比如404、

debug开启步骤

一、右上角打开多选框

flack python 框架 详解 python flask框架教程_flask


二、找到编辑配置

flack python 框架 详解 python flask框架教程_html_02


三、在FLASK_DEBUG上打勾、应用即可

flack python 框架 详解 python flask框架教程_python_03

通过用户访问的路径,匹配相应的函数

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/<name>')
def welcom(name):
    return '你好,%s!'%name
if __name__ == '__main__':
    app.run()

flack python 框架 详解 python flask框架教程_flask_04

多个参数

from flask import Flask

app = Flask(__name__)

#路由解析,通过用户访问的路径,匹配相应的函数
@app.route("/user/<name>/<name1>")
def welcom(name,name1):
    return "你好,%s!,你好,%s!"%(name,name1)
if __name__ == '__main__':
    app.run()

flack python 框架 详解 python flask框架教程_flack python 框架 详解_05

通过访问路径,获取用户整型参数

from flask import Flask

app = Flask(__name__)

# 通过访问路径,获取用户整型参数
@app.route("/user/<int:id>")
def welcom2(id):
    return "你好,%d!号的会员"%id
if __name__ == '__main__':
    app.run()

flack python 框架 详解 python flask框架教程_python_06

通过访问路径,获取用户float参数

与上面整型参数类似,就不写了

路由路径不能重复,用户通过唯一路径访问特定的函数

向页面传递一个变量

普通变量

flack python 框架 详解 python flask框架教程_flask_07


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>

注意变量传递,用{{ }}访问一般变量

flack python 框架 详解 python flask框架教程_html_08

列表类型

@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>

flack python 框架 详解 python flask框架教程_flask_09

提交表单

项目目录

flack python 框架 详解 python flask框架教程_flask_10

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>

flack python 框架 详解 python flask框架教程_后端_11


flack python 框架 详解 python flask框架教程_flask_12