python:flask 模块 网页开发 demo

这里写目录标题

测试的时候,按照分割线来

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.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值