MOMOJI.故事接龙·让我们一起讲故事,做个有故事的人

momoji.技术架构及算法

~jinja2和pyramid的renderer~
{ 任一段落可 [ 切到该章节 ] 进行续写接龙 }

~momoji.技术架构及算法~

选取python3为开发语言,版本python 3.7.3;

web架构为pyramid;

数据库访问采用sqlalchemy;

使用jinja2模板,也提供api,但非完全前后端分离;

前端使用了echarts2;

考虑该站点依靠iis挂了几个应用,80端口已占就用iis做了application request routing 和 url rewrite,后续考虑换为nginx;

数据库mysql,版本mysql 8.0.16.0;后续考虑换位文件系统;

存储结构具有为单父属性的节点,即tree或者multi-tree;但最终实现可成环的有向图,非dag(因为有向且成环);

momoji.技术架构及算法 by 飞~甜 @ 2019-06-11 14:56:51

切到该章 收藏 从此续写

~jinja2模板~

初次体验jinja2模板;include,macro,import,变量绑定,集合遍历,loop属性的使用,函数的使用,管道;

jinja2模板 by 飞~甜 @ 2019-06-11 15:47:02

切到该章 收藏 从此续写

~jinja2和pyramid的renderer~

pyramid中提供了renderer机制来对函数进行渲染,并预置了多种renderer;为了统一时间/数字的输出格式,我也体验写了一个renderer,并config.add_renderer('json',sql_json_renderer);

renderer这种机制可以灵活的针对response进行不同类型的输出:当要作为api,输出json对象时,可以用这样的语句来修饰这个方法:@view_config(route_name='story.chartdata', renderer='json');

而要输为html页面时,可以用以下代码修饰:@view_config(route_name='story.add', renderer='templates/story_add.jinja2'),这里renderer指向了一个jinja2模板文件;文件里会绑定同名的变量进行html输出;

jinja2和pyramid的renderer by 飞~甜 @ 2019-06-11 15:59:11

切到该章 收藏 从此续写

last by 飞~甜 @ 2019-06-11 15:59:11

章节模式 复制地址