flask项目经验总结

models 研究

BaseModel(object) 基础类,用来给子类继承

  1. create_time = db.Column(db.DATETIME, default=datetime.now()) 创建时间
  2. update_time = db.Column(db.DATETIME, default=datetime.now(),onupdate=datetime.now())
    最后一次修改时间

序列化,转换为json格式 id –> {‘id’: id}

def to_basic_dict(self):
    return {
     'id': self.id,
     'avatar': self.avatar,
     'image': self.index_image_url if self.index_image_url else '',
     'create_time': self.create_time.strftime('%Y-%m-%d %H:%M:%S'),
}

api 接口 ,orm ,处理数据,

  1. 接收数据, form , file, args, argv,
  2. 判断数据的正确性,
    1. 是否为空 if not all([id_name, id_card])
    2. 是否合乎正则 if not re.match(r’^$’, phone):
    3. 是否被使用 if User.query.filter(User.id_card==id_card).count():
  3. 将数据存储到数据库,或者查询数据库,返回指定数据,jsonify
    try:
    db.session.add(user)
    db.session.commit()
    except Exception:
    return xxx

ajax

两种调用ajax的方法

  1. 页面加载完成,自动请求部分网页
  2. 点击按钮,上传或者请求数据

上传页面数据

  1. 获取单个值
    • name = $(‘#real-name’).val()
    • $.get(‘/user/user/’,{‘name’:name},function(data){})
  2. 获取表单,上传表单里的内容
$('#form-house-info').submit(function(){
    $.post('/house/newhouse/', $(this).serialize(),function(data){

    })
});

渲染页面的方法

  1. 局部简单渲染
    • 忽略,常规方法
  2. 大面积页面异步加载
    • script 方法。template 包
html 里
<div id="div1"></div>
{% raw %}
<script type="text/html" id="sc1">
    {{each hlist as house}}
    需要在页面全部渲染的内容
    {{/each}}
</script>
{% endraw %}

<script src="/static/js/template.js"></script>
js 里

var area_name_html = template('sc1', {alist:data.alist});
$('#div1').append(area_name_html);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值