python flask 鱼书项目实战总结

本文总结了使用Python Flask进行鱼书项目实战的经验,涉及flask模型属性、自定义验证器、flask_login、事务处理、数据过滤与排序、__call__方法等关键点。同时探讨了数据冗余的利弊,包括何时合理利用冗余以及其可能导致的数据不一致性和效率问题。
摘要由CSDN通过智能技术生成

对于7七月老师,我更喜欢他的代码风格
伪面向对象

类:描述特征(类变量,实例变量)
   行为(方法)

jinjia2

在jinjia2中遍历字典的方式,在遍历的数据后面需要加上items函数
{
   %for key,value in data.items()%}
	{
   {
   key}}--{
   {
   value}}
模板继承
父模板
{
   % block content%}
	This is parent
{
   % endblock %}

子模版
{
   %extends layout.html%}}
{
   % block content%}
	{
   {
   super()}} #加上可调用父模板
	This is parent
{
   % endblock %}

老师写代码有一种,实例化就返回值得错觉

 	@property
    def password(self): #模型属性的读
        pass
	
    @password.setter
    def password(self, raw):#模型属性的写
        pass
a:object 属性:'bar' 值:5

>>> getattr(a, 'bar')          # 获取属性 bar 值
1
>>> setattr(a, 'bar', 5)       # 设置属性 bar 值
>>> a.bar

flask的模型中定义属性是自动读取嘛?
答:flask模型中定义了属性,该属性会在调用模型的时候自动执行。

自定义验证器

在flask中有许多场景需要自定义验证器,如何自定义验证器?
在validate加上属性,就是对这个属性的自定义属性

def validate_Email(self,field):
	if User.query.filter_by(email=field.data).first():
		raise ValidateError("电子邮件已经被注册")
该验证器定义在forms文件夹里,专门做验证作用。field会自动匹配属性
获取验证器里面的数据是这样的
form = RegisterForm()
form.password.data 这样就可以获取验证器里面的数据

flask_login

在使用flask_login之前,需要初始化LoginManage()
from flask_login import LoginManager
	login_manage = LoginManager()
	login_manage.init_app(app)#传入app
使用login_user就是为了将用户的信息存储到cookie中去。
如何存储到cookie中,存储的形式又是什么呢?
答:在cookie中存储是这个用户id。
如何识别用户的数据呢?
答:在用户的模型中&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值