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

momoji.技术架构及算法

~jinja2自定义filter~
{ 任一段落可 [ 切到该章节 ] 进行续写接龙 }

~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自定义filter~

1.定义一个filter,比如:

def GetATail(s,tail):

    return s+tail

2.有两种方法加到pyramid框架中:

2.1.通过配置.ini文件:

jinja2.filters =

    getatail = momoji.jinjafilter.bitvaluefilter:GetGetATail

或者

2.2.通过配置config对象在__init__.py中:

    config.commit() # this is needed or you will get None back on the next line

    jinja2_env = config.get_jinja2_environment()

    jinja2_env.filters['getatail'] = GetATail   

3.在jinja2模板中即可调用:

{{ 'momoji' | getatail(' has a long tail') }}

 

jinja2自定义filter by 飞~甜 @ 2019-06-12 18:15:52

切到该章 收藏 从此续写

last by 飞~甜 @ 2019-06-12 18:15:52

章节模式 复制地址