测试的时候,按照分割线来
flask_demo.py
from flask import Flask, render_template, request
# web应用程序 WSGI应用程序 (Web服务器网关接口)
app = Flask(__name__) # 使用当前模块(__name __)的名称作为参数
# 写一个函数,处理浏览器发来的请求
# 路由:通过浏览器访问过来的请求,的位置
@app.route("/") # 访问到 127.0.0.1:5000,的位置
def index():
# 处理 业务逻辑
return "hello world~"
@app.route("/name")
def name(): # 函数名无所谓
return "I am Jay"
# route(rule, options)函数是一个装饰器,它告诉应用程序哪个URL应该调用相关的函数。 '/ ' URL与index()函数绑定
# rule 参数表示与该函数的URL绑定。
# options 是要转发给基础Rule对象的参数列表
#====================================
# 模板 --> html
@app.route("/")
def index():
return render_template('hello.html') # 会自动去 template 目录下找 对应的网页
# 变量 发送到 网页
@app.route("/")
def index():
# 字符串
s = 'This is str'
lst = ['e1', 'e2', 'e3']
return render_template('hello.html', str_s=s) # str_s,需要在网页中
#====================================
# 从网页接收数据
# 例:登录验证
@app.route("/")
def index():
return render_template('login.html')
@app.route("/login", method=["POST"]) # 对应网页中的 方法
def index():
# 接收 用户名 密码
# {user:填写内容 , pwd:填写内容}
user = request.form.get("user") # form 对应 网页中 的位置 form
password = request.form.get("pwd")
# URL 传参
# request.args.get()
# 判断 逻辑
if user == '' and password == '':
return 'successed'
else:
return render_template('login.html', msg='failed')
#====================================
if __name__ == "__main__":
app.run(host='0.0.0.0', port=9999, debug=True) # 运行程序 # app.run(host, port, debug, options)
# host='0.0.0.0' # 要监听的主机名。 默认为127.0.0.1(localhost)。设置为“0.0.0.0”以使服务器在外部可用
# debug=True # 文件修改,自动加载
# port=5000,默认值
hello.html
<!-- ! + tab 快速新建 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
Welcome to my Web !!!
<a href="#">你好,我是超链接</a>
<hr/> <!-- 分割线 -->
<!-- 变量传参-->
<a href="#">你好,我是{{str_s}}</a>
<hr/>
<!-- for 循环 -->
<!-- #{% %}这样代表控制语句 -->
{% for item in lit}
列表循环: {{item}}
{% endfor %}
</body>
</html>
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- method:请求方式。
POST 隐式提交,
GET 显示提交 -->
<form action="/login" method="POST"><br/> <!-- action :路由位置 -->
用户名 <input type="text" name="user" id="" > <br/> <!-- name:键值对 -->
密码 <input type="password" name="pwd" id="" ><br/>
<input type="submit" value="">
{{msg}}
</form>
</body>
</html>
Flask 中文文档
https://dormousehole.readthedocs.io/en/latest/quickstart.html.