zoukankan      html  css  js  c++  java
  • python框架之Flask基础篇(三)-------- 模版的操作

    1.flask特有的变量和函数:

    变量:g、session、request、config

    函数:url_for()、get_flashed_messages()这个函数注意了啊,记住这是个函数,别忘了写括号!!!!!!!!!

    废话不多说,直接上代码体验一下:

    先解释一个bug,当我们设置了# -*- coding:utf-8 -*-,但是当返回浏览器页面的数据是汉字的时候还会出现字符编码问题,如下:

    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 0: ordinal not in range(128)

    此时就需要在视图函数的那个.py文件中加入一下几行代码,就解决了编码问题:

    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")

    # -*- coding:utf-8 -*-
    from flask import Flask
    from flask import flash,render_template,session,g
    # 解决编码问题
    import sys
    reload(sys)
    sys.setdefaultencoding("utf-8")
    
    
    app = Flask(__name__)
    app.secret_key = 'hello'
    
    
    @app.route('/',methods=["GET","POST"])
    def hello_world():
        # flash底层是将闪现信息放在了session中,所以需要设置secret_key
        flash("python")
        return g.age
    
    @app.route('/set_session', methods=['GET', 'POST'])
    def set_session():
        session["name"] = "wangwu"
        g.age = 18
        return render_template('six_variable.html')
    
    if __name__ == '__main__':
        app.run(debug=True)
    这是前段代码:
    1.flash:
    {% for message in get_flashed_messages() %}
        {{ message }}
    {% endfor %}
    <br>
    2.request:<br>
    {{ request.url }} <br>  比如:得到的该路径为:http://localhost:5000/get_session
    {{ request.url_root }} <br>  结果为:http://localhost:5000/
    {{ request.url_rule }} <br>  结果为:/get_session {{ request.url_charset }} <br>结果为:utf-8 3.config:<br> {{ config.root_path }} <br>  获取项目跟路径 {{ config.DEBUG }} <br>    获取DEBUG模式的值   在前段页面字典取值得两种方法 {{ config["SECRET_KEY"] }}<br> 4.session:<br> {{ session.name }} <br> {{ session["name"] }} <br> 5.url_for:<br> {{ url_for("set_session") }}<br> <a href="{{ url_for("hello_world") }}">hello_world</a><br> 6.g:<br> {{ g.age }}
    
    
    
































  • 相关阅读:
    tp-link便携式路由器固件升级方式
    awk改变了OFS,$0却没变化
    RBAC设计前期设计
    微信小程序获取普通二维码
    微信小程序获取请求数据
    微信小程序获取二维码API
    php之策略模式
    php之简单工厂模式
    数据库转换微信菜单
    实现微信公众号平台菜单功能
  • 原文地址:https://www.cnblogs.com/RomanticLife/p/8372954.html
Copyright © 2011-2022 走看看