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 }}

												

python框架之Flask基础篇(三)-------- 模版的操作的更多相关文章

  1. python框架之Flask基础篇(二)-------- 数据库的操作

    1.flask连接数据库的四步: 倒入第三方数据库扩展包:from flask_sqlalchemy import SQLAlchemy 配置config属性,连接数据库: app.config[&q ...

  2. python框架之Flask基础篇(一)

    一.第一个hello world程序 # coding=utf-8 from flask import Flask app = Flask(__name__) @app.route('/') def ...

  3. python框架之Flask基础篇(四)-------- 其他操作

    1.蓝图 要用蓝图管理项目,需要导入的包是:from flask import Buleprint 具体大致分为三步: 1.先在子模块中导入蓝图包,然后再创建蓝图对象. 2.然后将子模块中的视图函数存 ...

  4. Lua 学习之基础篇三<Lua 字符串操作>

    Lua字符串可以使用以下三种方式表示: 单引号间的一串字符. 双引号间的一串字符. [[和]]间的一串字符. string = [["Lua"]] print("字符串 ...

  5. Python学习笔记之基础篇(-)python介绍与安装

    Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...

  6. 智普教育Python视频教程之入门基础篇,python笔记

    智普教育Python视频教程之入门基础篇,python笔记 print id()内存地址 type()变量类型 windows命令行下edit命令 python数据类型不需要指定类型 定义hostna ...

  7. Python(四)基础篇之「文件对象&错误处理」

    [笔记]Python(四)基础篇之「文件对象&错误处理」 2016-12-08 ZOE    编程之魅  Python Notes: ★ 如果你是第一次阅读,推荐先浏览:[重要公告]文章更新. ...

  8. 小白学 Python 爬虫(35):爬虫框架 Scrapy 入门基础(三) Selector 选择器

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  9. Python基础篇(三)_函数及代码复用

    Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...

随机推荐

  1. 工作用linux命令汇总

    mv [filepath] [filepath] 移动,前者位置移动到后面位置,也可以用来重命名(mv test.txt newname.txt) cp [filepath] [filepath] 复 ...

  2. LightOJ 1348 Aladdin and the Return Journey

    Aladdin and the Return Journey Time Limit: 2000ms Memory Limit: 32768KB This problem will be judged ...

  3. HDU 2604 矩阵快速幂

    题目大意 给定长度为l的只有f,m两种字母 的序列,问不出现fff,fmf的序列个数有多少个 每次的下一个状态都与前一次状态的后两个字母有关 比如我令mm : 0 , mf : 1 , fm : 2 ...

  4. da,da_driver

    daSet=session.query(da).all() for da in daSet: da.mount_list=map(lambda x:x.mount_point , x for x in ...

  5. one troubleshooting case about em access issue

    Today when trying to open my Oracle EM url, I can not open it. So I thought may be the network is ha ...

  6. ORA-15024: discovered duplicately numbered ASM disk 0

    在尝试删除一个diskgroup的时候遇到这个错误. ORA-15024: discovered duplicately numbered ASM disk 0 这说明oracle认为有两个disk ...

  7. css3 字体自适应

    css3提供了一些与当前viewpoint相关的元素,vw,vh,vim等. “viewpoint” = window size vw = 1% of viewport width 1vh = 1% ...

  8. ZMQ源代码分析(一)-- 基础数据结构的实现

    yqueue 和 ypipe zmq号称是"史上最快的消息队列",由此可见zmq中最重要的数据结构就是队列. zmq的队列主要由yqueue和ypipe实现.yqueue是队列的基 ...

  9. 【Cloud Foundry】Could Foundry学习(一)——Could Foundry浅谈

    在阅读的过程中有不论什么问题.欢迎一起交流 邮箱:1494713801@qq.com    QQ:1494713801 Cloud Foundry是VMware推出的业界第一个开源PaaS云平台.他包 ...

  10. C++之:友元类

    一.文章来由 上一篇写了友元函数,这一次写一个姊妹篇,继续深入探究一下友元类. 二.定义 友元类的全部成员函数都是还有一个类的友元函数.都能够訪问还有一个类中的隐藏信息(包含私有成员和保护成员). 当 ...