Flask中的一些问题的初步汇总一

版权声明:欢迎读阅 https://blog.csdn.net/weixin_44266137/article/details/85250635

首先,很高兴能在这里写上自己对于Flask微框架的一些小问题与见解。喜欢的请看看,不喜欢的轻喷。
1.遭遇UnicodeDecodeError: ‘utf-8’ codec can’t decode
那么在遇到这种情况,应该是自己的文件目录为中文,会不识别,比如自己的计算机名为中文,所以文件目录对于咱们应该都是英文,在low点儿,拼音,切记,不要用中文!
2.json编码在网页显示为ascii码
解决这类问题,对于新手来说,就会很烦恼。那么需要py页中输入指定的代码,那么还有很多种解决方法。下边会简单的介绍几种常用的方法。
3.cookie和session的简单原理
在Flask的框架中,自己已经封装了 cookie的respons,request 有存储就有读取及删除,拿购物车来举例,在我们登陆的时候会有之前在购物车存放的物品,也就是说在一个地方为我们保存了这些数据。前提有一个是要你登陆之后才能看到自己的购物车。
cookie对应的是client,session对应的是server。 也就是说,要在服务器上登录你对应的账户,才能看到你自己在购物车添加的物品。但是物品那么多,不能都存在服务器上,数据量太大会让服务器搬家的。
4.Flask中的继承和包含
   为了代码的重用性,我们使用继承模板。还有包含模板,我用我的理解简单介绍一下,他们的用法不相同,却又有类似之处,
   在访问页面的时候,最上边会有导航的信息,也就是要跳转到哪,实现路由的访问,那么每一页中我们为了统一效果,是不是就可以将之前的页面样式拿来使用。这就涉及到了继承,以及包含。
在继承的时候,会使用 block 关键字。记住,想要现实效果,别忘了在Py文件中导入数据,引入页面,那么就有了被继承的概念。谁继承谁。又是谁被谁继承,所以还有个关键字,就是extends
继承是将完整的模板放到另一个页面,另一个页面中不能有相同的html模板,包含是将做好的小模块,放入已经设计好的模板中,二者正好相反!
下边的为加载配置的方法

# 是在py文件中直接配置的。
app.config['JSON_AS_ASCII'] = False
debug开启模式
app.config['DEBUG'] = True


# 第二种方式
# 从外部引入配置文件,用于加载,也就是需要新创建一个ini配置文件   config.ini
# 内部代码就俩行
DEBUG = True
JSON_AS_ASCII = False
# 再回到原来的文件引入
app.config.from_pyfile('config.ini')

# 第三种方式是配置环境变量。
# # C:\Users\自己的路径,我找的是绝对路径 \www\web\config.ini 从环境变量中来配置加载
# 我的是在win-10下搭建的
# 计算机-属性-更改设置-高级-环境变量-新建    那么第一行你需要起名,第二行需要复制路径,也就是上边的路径
# 回到py文件中。
app.config.from_envvar('app_config') # 这里注意在文件中导入的是字符串。


# 第四种方式
# 建立一个配置类 其实就是第一种方法,只是在类中封装
class Config(object):
  DEBUG = True
  JSON_AS_ASCII = False
 
# 那么在调用这个类名。就可以了
app.config.from_object(Config)

猜你喜欢

转载自blog.csdn.net/weixin_44266137/article/details/85250635