您的位置:首页 > 其它

Flask Web学习(5)----Markdown 和Flask -Pagedown的使用

2018-03-16 08:42 387 查看

术语定义

pagedown:使用Javascript实现客户端的Markdown到HTML的转化。

Flask -Pagedown:供Flask使用的pagedown,作用是把pagedown集成到Flask-wtf表单中。

Markdown:使用python实现服务器端的Markdown到HTML的转化。

Bleach:使用python实现的HTML清理器。

CDN的全称是ContentDeliveryNetwork,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。

1.db.Relationship()第一个参数表明这个关系的另一端是哪个模型(类)。如果模型类尚未定义,可使用字符串形式指定。

2.db.Relationship()第二个参数backref,将向User类中添加一个role属性,从而定义反向关系。这一属性可替代role_id访问Role模型,此时获取的是模型对象,而不是外键的值。

上面的关系为一对多关系的表示,一对一怎么办?

调用db.Relationship()时需要把userlist参数设置为False。如下:

db.Relationship(‘User’,backref=’role’,uselist=False)

lazy=”dynamic”只可以用在一对多和多对多关系中,不可以用在一对一和多对一中

lazy 决定了 SQLAlchemy 什么时候从数据库中加载数据:,有如下四个值:(其实还有个noload不常用)

select: (which is the default) means that SQLAlchemy will load the data as necessary in one go using a standard select statement.

joined: tells SQLAlchemy to load the relationship in the same query as the parent using a JOIN statement.

subquery: works like ‘joined’ but instead SQLAlchemy will use a subquery.

dynamic : is special and useful if you have many items. Instead of loading the items SQLAlchemy will return another query object which

you can further refine before loading the items. This is usually what you want if you expect more than a handful of items for this relationship

通俗了说,select就是访问到属性的时候,就会全部加载该属性的数据。joined则是在对关联的两个表进行join操作,从而获取到所有相关的对象。dynamic则不一样,在访问属性的时候,并没有在内存中加载数据,而是返回一个query对象, 需要执行相应方法才可以获取对象,比如.all().下面结合实例解释这几个的使用场景。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: