flask的学习

1)启动一个flask框架程序,客户端输出helloworld

from wsgiref.simple_server import make_server

# hello_world是回调函数,参数必须是这样
def hello_world(environ, start_response):
    status = "200 OK"
    response_headers = [('Content-Type', 'text/html')]
    start_response(status, response_headers)
    path = environ['PATH_INFO'][1:] or 'hello world'
    return [b'<h1> %s </h1>' % path.encode()]


def main():
    server = make_server('localhost', 8001, hello_world)
    print('server http on port 8001 running...')
    server.serve_forever()


if __name__ == '__main__':
    main()

2)两种回调函数编写

from flask import Flask

app = Flask(__name__)

# 方法1
# @app.route('/')
# def hello():
#     return 'hello world'

# 方法2
def hello2():
    return 'hello world222'
app.add_url_rule('/hello', view_func=hello2)

if __name__ == '__main__':
    app.run()

3)动态构建URL,包括使用url_for和redirect两个模块的使用
根据客户端输入的信息,网页实现跳转

from flask import Flask
from flask import redirect, url_for

app = Flask(__name__)


@app.route('/admin')
def hello_admin():
    return 'Hello: admin'


@app.route('/guest/<guest>')
def hello_guest(guest):
    return f'Hello guest:{guest} '


@app.route('/user/<name>')
def hello_user(name):
    if name == 'admin':
        return redirect(url_for('hello_admin'))
    else:
        return redirect(url_for('hello_guest', guest=name))


if __name__ == '__main__':
    app.run()

4)post请求应用案例(表单提交)
注意:表单必须写在templates这个文件夹里面,而且这个temlpates是必须这样写

from flask import Flask
from flask import redirect, url_for, request, render_template

app = Flask(__name__)


@app.route("/")
def index():
    return render_template('login.html')


@app.route('/welcome/<name>')
def do_welcome(name):
    return f'欢迎 {name}'


@app.route('/login', methods=['POST'])
def login():
    if request.method == 'POST':
        user = request.form['nm']
        return redirect(url_for('do_welcome', name=user))


if __name__ == '__main__':
    app.run()

4.2)相关的表单login.html文件如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="http://127.0.0.1:5000/login" method="post">
    <p>输入姓名:</p>
    <p><input type="text" name="nm"/></p>
    <p><input type="submit" value="提交"/></p>

</form>
</body>
</html>
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值