今昨两天,真是被markdown的模版折腾的够呛啊,先说下现在的项目吧,现在RD提测时是要很土在mr上的comment上写,而我们的arctic-ocean,可以将评论的内容调用gitlab的接口,自动提交评论并且发送邮件, 技术上有一点要求将提交的内容变成markdown的格式,再调用gitlab的接口。
首先我先了解了一下Markdown的语法,看怎么可以写成表格
1 | | project_name | project_function | system_involved | |
于是我很费劲的写成了这样:
1 | body1 = '|'+ 'project_name' +'|'+ 'project_function'+ '|'+'system_involved'+'|'+'database_ |
就是这样用字符串拼接的方式,虽然能够实现功能,但是真的不好些,而且也不好看,马越看后,先是让我写成一个模版,即建立一个新的文件,然后
import,这是一方面,更重要的是体会到了三个引号的强大,完全可以想如下这样写啊。三个引号是可以保留空行的,当马越跟我说可以这样的时候,
瞬间一阵风吹来似的,自己好蠢的写了好久,结果其实是可以直接复制过来的。
# coding: utf-8
comment_template = u'''\
| header 1 | header 2 |
| -------- | -------- |
| 测试项目名称 | {project_name}|
| 测试功能 | {project_function}|
| 提测涉及系统 | {system_involved} |
| 是否有数据库修改 | {need_to_change_db_schema}|
| 是否有权限修改 | {need_to_change_permissions} |
| 涉及人员 | {developers} |
| 测试关注点 | {checking_point} |
| 计划上线时间| {scheduled_launch_time} |
| 提醒某人 | {remind_somebody} |'''
view中这样:用string.format()
body = template.comment_template.format(
project_name=project_name,
project_function=project_function,
system_involved=system_involved,
need_to_change_db_schema=need_to_change_db_schema,
need_to_change_permissions=need_to_change_permissions,
developers=developers,
checking_point=checking_point,
scheduled_launch_time=scheduled_launch_time,
remind_somebody=remind_somebody)