mcw_str='''
wo
shi
{{ name }}
'''
import re class myclass():
def inithtml(self):
ret1 = re.search('{{ (?P<mcw1>.*) }}', mcw_str) #在模板文件中匹配包含{{ 变量 }}的。
try:
bianliang = ret1.group('mcw1') #匹配并获取变量的值
except Exception as e:
pass
return bianliang #获取到值返回
def myfunc(self,mcw_str):
dic={'name':'mcw'} #我要传入模板的字典键值对
bianliang=self.inithtml() #在模板中查找变量的名称
if bianliang and bianliang in dic: #根据变量名字在我传入的模板中找
mcw_str=re.sub('{{ %s }}' % bianliang, '%s' % dic['%s'%bianliang], mcw_str) #如果找到,那么将变量名称替换成
print mcw_str #字典的值,在模板中替换。这样就完成了类似djongle使用的jinja2模板语言了
obj=myclass()
obj.myfunc(mcw_str) #将模板传入到请求函数中

程序

模仿jinja2的模板语言实验,可用于简易框架中的更多相关文章

  1. 页面输入的数据格式转换类:BaseAction(经常使用于Struts框架中)

    在我们接收页面传来的数据时,这些数据都是以String类型接收的,所以要进行数据格式转换,这时候就能够统一为它们进行转换,并且在处理这些数据的类中能够继承ActionSupport类,然后让每个接收数 ...

  2. 【Flask】 Jinja2模板语言

    Jinja2 Jinja2是Python Web编程中的主流模板语言.因为flask是基于Jinja2和Werkzeug发展而来,在安装flask的时候jinja2自动就被装在上面了. 之前提到了很多 ...

  3. [Python自学] day-18 (2) (MTV架构、Django框架、模板语言)

    一.实现一个简单的Web服务器 使用Python标准库提供的独立WSGI服务器来实现MVC架构. 首先,实现一个简单的Web服务器: from wsgiref.simple_server import ...

  4. django 模板语言入门详解

    django 模板语言所解决的问题域: 1.动态生成html文件 2.是上这个模板语言用可用于生成任何形式的文本文件 从一个不用模板语言生成html的例子看模板语言的优点: 假设我要生成一个 “hel ...

  5. (9)模板层 - templates(模板语言、语法、取值、过滤器、变量的使用)

    django的模板语言:DTL 模板语言的变量传入 这个是标签 {{ 变量名 }} {{ 变量名 }}   #模板语言的替换可以在模板中的任意位置生效 PS:通过 . 可以做深度查询 模板语言的过滤器 ...

  6. Django补充之模板语言

    路由系统 Django页面详情以及分页 举个例子: 有一组后台数据,需要展示到页面上,但由于数据量较大,那就需要做分页了吧,那么怎么才能将页面详情和分页都融合进去呢,Django里的路由系统加上正则表 ...

  7. 第四篇flask中模板语言 jinja2

    Flask中默认的模板语言是Jinja2 首先我们要在后端定义几个字符串,用于传递到前端 STUDENT = {, 'gender': '中'}, STUDENT_LIST = [ {, 'gende ...

  8. Flask最强攻略 - 跟DragonFire学Flask - 第四篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法

    是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符 ...

  9. python 全栈开发,Day119(Flask初识,Render Redirect HttpResponse,request,模板语言 Jinja2,用户登录例子,内置Session)

    一.Flask初识 首先,要看你学没学过Django 如果学过Django 的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分 三大主流Web框架对比 ...

  10. 第四篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法

    是时候开始写个前端了,Flask中默认的模板语言是Jinja2 现在我们来一步一步的学习一下 Jinja2 捎带手把 render_template 中留下的疑问解决一下 首先我们要在后端定义几个字符 ...

随机推荐

  1. Pandas高级教程之:Dataframe的重排和旋转

    目录 简介 使用Pivot 使用Stack 使用melt 使用Pivot tables 使用crosstab get_dummies 简介 使用Pandas的pivot方法可以将DF进行旋转变换,本文 ...

  2. MogDB/openGauss存储过程的修改

    MogDB/openGauss 存储过程的修改 SQL 中没有提供显式的存储过程修改命令,通常需要通过 REPLACE 关键字来指定使用当前的存储过程替代之前的同名存储过程. 将前文定义的存储过程替换 ...

  3. Fatal: (vsim-3381) obsolete library format 解决办法

    有很多软件仿真都是black boxs 黑盒子模式,所以用modelsim提示该错误.错误的原因是在于库用了其他旧的软件版本编译好的. 所以解决的办法如下: 在已经映射好的库选择refresh就可以刷 ...

  4. 《c#高级编程》第5章C#5.0中的更改(十一)——字符串插值

    在 C# 5 中,引入了字符串插值(string interpolation)语法,它提供了一种简单.直观的方式来将变量的值嵌入到字符串中.在以前的版本中,我们需要使用字符串格式化功能来实现这个目的, ...

  5. 实际项目中一般使用到的git知识

    1.项目上线分支管理流程 图片压缩太厉害有些模糊 700k 压缩到20多k 清晰些的图片地址https://project.zdzspace.cn/test-vuekey 2.一些常用的git命令 g ...

  6. 从0到1使用Webpack5 + React + TS构建标准化应用

    简介: 本篇文章主要讲解如何从一个空目录开始,建立起一个基于webpack + react + typescript的标准化前端应用. 作者 | 刘皇逊(恪语)来源 | 阿里开发者公众号 前言 本篇文 ...

  7. K8s Ingress Provider 为什么选择 MSE 云原生网关?

    ​简介:在虚拟化时期的微服务架构下,业务通常采用流量网关 + 微服务网关的两层架构,流量网关负责南北向流量调度和安全防护,微服务网关负责东西向流量调度和服务治理,而在容器和 K8s 主导的云原生时代, ...

  8. 【ESSD技术解读-02】企业级利器,阿里云 NVMe 盘和共享存储

    简介: 当前 NVMe 云盘结合了业界最先进的软硬件技术,在云存储市场,首创性同时实现了 NVMe 协议 + 共享访问 + IO Fencing 技术.它在 ESSD 之上获得了高可靠.高可用.高性能 ...

  9. [SVG] JS 动态加载 svg 修改 svg 属性

    svg 概念一览: https://javascript.ruanyifeng.com/htmlapi/svg.html加载 svg: // for example: $('body').load(' ...

  10. 2018-8-10-C#-字符串首字符大写

    title author date CreateTime categories C# 字符串首字符大写 lindexi 2018-08-10 19:16:52 +0800 2018-2-13 17:2 ...