在openerp中使用mako template
-
我现在想在openerp中使用mako template,参考文章:http://doc.openerp.com/v6.0/developer/Web_client_v6/mako_template.html
我的做法如下:
mytemplate.py<br />mytemplate = mylookup.get_template("my_temp.mako")<br />mytemplate.render()<br />
my_temp.mako<br /><%def name="draw_bar()"><br /> <%<br /> python code #一段画图代码,pycha的sample,这段代码在py文件中测试,可以输出一个图片文件<br /> %><br />%><br /><body><br /> <table><br /> <tr><br /> <td><br /> ${draw_bar()} #这行代码是调用上面的函数,希望把图形显示在网页的表格中<br /> </td><br /> </tr><br /> </table><br /></body><br /><br />现在的问题是,mako模板上的其他内容都可以输出,唯独想放置图片的那个表格没有任何内容,draw_bar函数不知道是否运行正确,在py文件中测试时,draw_bar函数调用后,可以在硬盘上生成一个图片文件,但是放在mako模板中,硬盘上没有文件输出,生成的页面也没有图形。<br /><br />请问在mako template中,如何才能用python代码画出一个图形来呢?<br />谢谢!
-
图片 一般不能直接在 html 中使用.
html 中. 要使用 img 标签才阔以显示图片.
例如:<br /><%<br />import base64<br />def draw_bar():<br /> fp = file(r'test.png', 'rb')<br /> content = fp.read()<br /> fp.close()<br /> return '<img src="data:image/png;base64,%s" />' % base64.encodestring(content)<br /><br />%><br /><br /><body><br /> <table><br /> <tr><br /> <td><br /> ${draw_bar()}<br /> </td><br /> </tr><br /> </table><br /></body><br /><br />
-
gmail和QQ邮箱都不行,但是126没有问题,比对了一下两个邮箱的信息:
126:<br />Content-Type: multipart/alternative; boundary="------------000908050304070300020106"<br />MIME-Version: 1.0<br />This is a multi-part message in MIME format.<br />--------------000908050304070300020106<br />Content-Type: text/plain; charset=UTF-8; format=flowed<br />Content-Transfer-Encoding: 8bit<br />
QQ:<br />Content-Type: multipart/mixed; boundary="===============1468844308=="<br />MIME-Version: 1.0<br />--===============1468844308==<br />MIME-Version: 1.0<br />Content-Type: text/html; charset="utf-8"<br />Content-Transfer-Encoding: base64<br />
-
请问怎样才能修改Content-Type的类型?谢谢
1) Content-Type: multipart/mixed
它表明这封Email邮件中包含各种格式的MIME实体但没有具体给出每个实体的类型。
2) Content-Type: multipart/alternative
如果同一封Email邮件既以文本格式又以HTML格式发送,那么要使用Content-Type: multipart/alternative。这两种邮件格式实际上是显示同样的内容但是具有不同的编码。
3) Content-Type: multipart/related
用于在同一封邮件中发送HTML文本和图像或者是其他类似类型。 -
-
这个我已经试过了,如果是普通嵌入图片发送,html代码是:
<img src="/cgi-bin/viewfile?f=34D57382734C493C6B9B739D37DEA9B25394D2E36D714BC2E09A8B0535E93F9C35E486B8F07A45D5F44ED22863B7135D9407D05DD78DB1872BB69719F80A2CA4C816A3FB8D7D2E80CAE87E80B954F1F00009FF1F81E90C92&mailid=ZL0821-vhNI0WAizNKRbkQL1TRKZ22&sid=txpTW_pUg53eJw1C">
但是我用模板发送邮件,如果不用base64,而是绝对地址的图片,也不行,如
<img src="/home/myhome/image.png" width="431" height="96"/>
收到的html代码确是如上的<img src="#">,好像就是图片根本没有随邮件发送过来。而且用绝对地址,连邮件客户端也看不到图片了,一直怀疑mako模板直接写<img>标签是否正确,但是找不到合适的参考。
郁闷死了,我还在google……