• flask的使用(一)


    1.程序基本的说明

    #-*-encoding=utf-8-*-
    从flask中引入类
    from flask import Flask ,render_template
    import config
    初始化一个flask对象 Flask(),需要传入一个参数_name_
    1.方便flask寻找寻找资源
    2.方便flask插件,比如Flask Sqlalcheny出现错误的时候,好去寻找问题所在的位置
    app = Flask(__name__)
    @开头,并且是在函数上面,说明是一个装饰器
    这个装饰器的作用,是做一个url与视图函数的映射相匹配的
    比如127.0.0.1:5000/————>去请求一个heloo_world这个项目,额庵后返回给浏览器
    @app.route('/')
    def hello_world():
        return render_template('index.html',username='kanhwang',gender='nan')
    如果当前这个文件是作为程序的一个入口程序,那么就执行——app.run()这个方法
    if __name__ == '__main__':
        app.run()
    app.run ()启动一个应用服务器,来接受用户的一个请求
    相当于while True:
    Listen()
    #static:用来存储静态资源的
    #tem中放入的数html文件

    2.debug模式的开启

      好处:可以修改代码,而不需要重新的加载程序,他会在自己执行ctrl+s之后,自动将程序加载。但是HTML页面是不可以的,在java中也是这样的,但是在java中需要保存,可以不用启动服务器。

      开启方式:

       (1)在主函数的run方法中添加debug==True

       (2)可以使用配置的方法 

    Import config
    App.config.form_obiect(config)

    config中的程序

    DEBUG=True

    3.url传递参数

     3.1.参数的作用,可以在相同的Url中,指定不同的参数,来加载不同的数据

        3.2。在flask中使用参数,

            要求:参数必须放在两个括号中,视图中的需要放在url中的参数同名

    @app.route('/kw/<id>')              两个括号之间
    def kw(id):
        return u"你传入的参数是%s" % id    视图中与url中的同名

    4.页面渲染

      4.1flask建项目的目录说明  static中存放的是css、js等页面的,在template中放置的是页面HTML。

      4.2页面渲染的使用案例

    from flask import Flask ,render_template
    import config
    app = Flask(__name__)
    @app.route('/')
    def hello_world():
        return render_template('index.html',username='kangwang',gender='man')
    if __name__ == '__main__':
        app.run()

    页面

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Demo1</title>
    </head>
    <body>
    用户名:{{ username}}
    性别:{{ gender }}
    </body>
    </html>

    4.3数据传入

       上面的例子中传输参数,在template方法里面,但是如果有太多的页面,这样的传输,不是一个好的办法,那么我们可以使用字典的方式传输值

    @app.route('/')
    def hello_world():
        context={
            'username':'kanhwang',
            'gender':'nan'
        }
        return render_template('index.html',**context)

    传入类的方式

    def hello_world():
        class people:
            name='kw'
            age=23
    
        p=people()
        context = {
            'username': 'kanhwang',
            'gender': 'nan',
            'peo':p
        }
        return render_template('index.html',**context)

    接收端

    用户名:{{ peo.name}}
    性别:{{ peo.age }}

    传输字典的方式

    context = {
        'username': 'kangwang',
        'gender': 'man',
        'peo':p,
        'websites':{
            'baidu':'http://baidu.com',
            'hh':'https://i.cnblogs.com/EditPosts.aspx?opt=1'
        }
    }

    接收数据端

    {{websites.baidu }}

    还有一种方式,使用与字典,也适用于类传递参数

    {{websites['baidu'] }}
  • 相关阅读:
    oracle归档空间不足的问题(rman删除归档日志)
    oracle DG查看延时时间
    Convert JS object to JSON string
    转:微信公众平台开发(80) 上传下载多媒体文件
    生成带参数的二维码
    关闭微信浏览器可以使用
    微信内置浏览器的JsAPI(WeixinJSBridge续)进入全屏
    如何隐藏微信公众平台右上角按钮
    微信公众平台服务号、订阅号的相关说明选择字号:
    微信公众平台群发消息的方法及注意事项
  • 原文地址:https://www.cnblogs.com/kw28188151/p/8179818.html
Copyright © 2020-2023  润新知