python Flask篇

Posted 东京$

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Flask篇相关的知识,希望对你有一定的参考价值。

 

MarkdownPad Document

python Flask教程

例子1:

import flask
from flask import *
app=Flask(__name__) #创建新的开始

@app.route(‘/‘) #路由设置
def imdex(): #如果访问了/则调用下面的局部变量
   return ‘Post qingqiu !‘ #输出


if __name__ == ‘__main__‘:
    app.run() #运行开始

访问:127.0.0.1:5000/
结果:技术分享图片

请求方式

例子2:

import flask
from flask import *
app=Flask(__name__)
#flask.request为请求方式
@app.route(‘/‘,methods=[‘GET‘,"POST"]) #mthods定义了请求的方式
def imdex():
    if request.method==‘POST‘: #判断请求
        return ‘Post qingqiu !‘
    else:
        return ‘Get qinqiu !‘

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

GET请求返回的结果如下:
技术分享图片
POST请求如下:
技术分享图片

模板渲染

在同一目录下创建一个templates的文件夹,然后里面放入你要调用
的html。使用render_template(‘要调用的html‘)
例子3:

import flask
from flask import *
app=Flask(__name__)

@app.route(‘/‘,methods=[‘GET‘,"POST"])
def imdex():
    if request.method==‘POST‘:
        return ‘Post qingqiu !‘
    else:
        return render_template(‘index.html‘) #调用html

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

index.html代码:

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>小灰灰的网络博客</title>
</head>
<body>
<h1>Hello Word</h1>
</body>
</html>

结果:
技术分享图片

动态摸版渲染

个人来认为吧,这个应该比较少用到,毕竟是这样子的:/路径/参数
例子:

import flask
from flask import *
app=Flask(__name__)

@app.route(‘/index‘)
@app.route(‘/index/<name>‘) #html里面的参数为name这里也为name动态摸版调用
def index(name): #html里面的参数为name这里也为name
    return render_template(‘index.html‘,name=name) #调用

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

html代码:

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>小灰灰的网络博客</title>
</head>
<body>
<h1>Hello {{name}}!</h1>
</body>
</html>

结果:
技术分享图片

接受请求参数

例子:
request.form.请求方式(‘表单里的数据名称‘) #用于接受表单传来的数据

import flask
from flask import *
app=Flask(__name__)

@app.route(‘/index/<name>‘)
def index(name):
    return render_template(‘index.html‘,name=name)

@app.route(‘/login‘,methods=[‘GET‘,‘POST‘]) #可使用的请求有GET和POST
def login():
    error=None
    if request.method=="GET": #如果请求为GET打开login.html
        return  render_template(‘login.html‘) 
    else:
        username=request.form.get(‘username‘) #获取表单里的username数据
        password=request.form.get(‘password‘) #获取表单里的password数据
        if username==‘admin‘ and password==‘admin‘: #判断表单里的username和password数据是否等于admin
            return ‘login ok‘ #如果是则返回登录成功

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

html代码:
这里的{{ url_for(‘login‘) }} #代表着发送数据

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
<form action="{{url_for(‘login‘)}}" method="POST">
    <input type="text" name="username">
    <input type="password" name="password">
    <input type="submit" value="login">
</form>
</body>
</html>

结果如下
技术分享图片
输入admin admin
返回如下
技术分享图片

 

 

以上是关于python Flask篇的主要内容,如果未能解决你的问题,请参考以下文章

Flask 编写http接口api及接口自动化测试

Python代码阅读(第19篇):合并多个字典

Flask框架基础篇

python Flask篇

Python代码阅读(第41篇):矩阵转置

Python代码阅读(第26篇):将列表映射成字典