
flask
书山压力大EEE
这个作者很懒,什么都没留下…
展开
-
8.用户登录与注册
一. viewmodel意义体现和filter函数的巧妙应用我们想要在搜索页面上每一本书都显示作者/出版社/价格我们在app/view_models/book.py的BookViewModel中已经定义了self.author,self.publisher,self.price, 我们需要将他们用'/'连接起来显示。在Jinja2模版中,做这样的操作比较困难, 我们选择在app/view_mode...原创 2018-06-20 18:12:26 · 820 阅读 · 0 评论 -
11.python与flask的结合应用(二)
九. 鱼漂业务与Drift模型向赠书人请求书籍的逻辑:点击赠书人初步涉及drift模型:新建app/models/drift.pyfrom .base import Basefrom sqlalchemy import Column, Integer, Stringclass Drift(Base): ''' 一次具体的交易信息 ''' id = Colum...原创 2018-06-27 14:44:21 · 558 阅读 · 0 评论 -
7.静态文件、模版、消息闪现与Jinja2
一. 静态文件访问原理举例:新建文件夹 app/static, 并在该文件夹下放入图片文件。运行flask, 访问http://localhost:5000/static/图片名。 发现可以访问文件flask是如何做到访问静态文件的呢? 我查看app/init.py的create_app中 app=Flask(name),Flask的源码:def __init__( self,...原创 2018-06-19 22:02:31 · 1096 阅读 · 0 评论 -
6.ViewModel、面对对象与重构
一. ViewModel我们获取书籍数据的api, 一个是通过关键字参数, 一个是通过书籍isbn, 得到的数据结构并不相同, 我们想做成统一的接口方便调用。这就需要用到viewmodelisbn查找: 关键字查找 使用viewmodel 新建app/viewmodels/book.py:class BookViewModel: @classmethod def package_s...原创 2018-06-19 11:33:12 · 579 阅读 · 0 评论 -
5.flask中多线程和线程隔离技术
一. GILpython的多线程有两种锁:1. 细粒度的锁 程序员在程序中主动加的 lock2. 粗粒度的锁GIL 保证多cpu的情况下,同一时刻也只执行一个线程 一定程度上保证线程安全因为gil的存在,cpython不能真正利用多线程。如果非要实现真正的多线程, 可以使用多进程模式。 但是多进程又会带来新的问题,比如 进程间切换的开销远大于多线程, 多进程间的共享资源也更麻烦...原创 2018-06-18 16:33:01 · 9822 阅读 · 1 评论 -
4.flask核心机制
一. flask中的经典错误我们现在工程中新建test/test1.py:from flask import Flask, current_appapp = Flask(__name__)a = current_app # 如果调试, 这里会出现unbund未绑定d = current_app.config['DEBUG']运行test/test1.py,出现如下报错,: Runt...原创 2018-06-17 22:17:52 · 685 阅读 · 0 评论 -
3.蓝图和ORM
一. 应用、蓝图与视图函数我们将初始化app, 视图函数等内容,通过蓝图的方法进行重构:目录结构:/app/init.pyfrom flask import Flaskdef create_app(): app = Flask(__name__) app.config.from_object('config') register_blueprint(app) # ...原创 2018-06-16 18:03:47 · 389 阅读 · 0 评论 -
2.数据与flask路由
一. 书籍搜索与查询1. 数据API关键字搜索http://t.yushu.im/v2/book/search?q={}&start={}&count={}isbn搜索http://t.yushu.im/v2/book/isbn/{isbn}豆瓣APIhttp://api.douban.com/v2/book2. 搜索关键字实现搜索书籍的视图函数search , 修改fisher....原创 2018-06-15 16:20:18 · 591 阅读 · 0 评论 -
10.业务处理
一. 首页:最近的礼物(复杂SQL的编写方案)逻辑导图:我们将这些逻辑在app/models/gift.py中实现from app.models.base import Basefrom sqlalchemy import Column, Integer, String, Boolean, ForeignKey, SmallInteger, descfrom sqlalchemy.orm im...原创 2018-06-22 17:45:06 · 419 阅读 · 0 评论 -
1.flask基本原理与核心知识
一. pipenv 安装虚拟环境掌握pipenv的常用命令和使用步骤: 1. 可去官网查看使用详情 https://github.com/pypa/pipenv 2. 进入porject目录中 3. 安装pipenv pip install pipenv 4. 进入pipenv ...原创 2018-06-14 15:55:38 · 368 阅读 · 0 评论 -
9.书籍交易模型(数据库事务、重写flask中的对象)
一.鱼豆新增app/web/gift.py:from .blueprint import webfrom flask_login import login_required, current_userfrom app.models.gift import Giftfrom app.models.base import db__author__ = 'cannon'@web.rout...原创 2018-06-21 18:45:32 · 609 阅读 · 0 评论 -
11.python与flask的结合应用(一)
一. 忘记密码思维导图:系统识别用户的方案,选用第二种或第三种, 第一种不安全。我们这里选择第二种方法二.first_or_404在app/forms/auth.py增加EmailForm:class EmailForm(Form): email = StringField(validators=[DataRequired(), Length(min=8, max=64), Email(m...原创 2018-06-27 14:41:01 · 1206 阅读 · 0 评论