zoukankan      html  css  js  c++  java
  • 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
    返回如下

  • 相关阅读:
    osip2 代码分析
    批处理命令——call 和 start
    在VS2010 VC++项目中引用Lib静态库(以Openssl为例)
    Gerrit 代码审核服务器的工作流和原理
    crucible VS gerrit
    领导者/追随者(Leader/Followers)模型和半同步/半异步(half-sync/half-async)模型都是常用的客户-服务器编程模型
    半同步半异步I/O的设计模式(half sync/half async)
    高并发系统设计
    通过Nginx反向代理之后客户端验证码session不一致造成无法验证通过的问题解决
    使用Nodpad++正则替换
  • 原文地址:https://www.cnblogs.com/haq5201314/p/9220589.html
Copyright © 2011-2022 走看看