Skip to main content

Generate documents from templates.

Project description

https://img.shields.io/pypi/v/document-template.svg https://img.shields.io/pypi/pyversions/document-template.svg https://img.shields.io/pypi/l/document-template.svg https://img.shields.io/pypi/wheel/document-template.svg

安装方法

使用 pip 安装

pip install document-template

使用方法

参考 test.pytest.html :

test.html:

<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>#{title}</title>
</head>
<body>
<h1>#{head}</h1>
<a href="#{url}">#{url}</a>
<br>
<h1>网站标题</h1>
<hr>
<span style="font-size: larger;font-weight: bold">#{large_font}</span>
<br>
show_span 为真时显示:
#{bool:show_span}<span>show_span is True</span>#{bool:show_span}
show_span 为假时显示:
#{bool:!show_span}<span>show_span is False</span>#{bool:!show_span}
<br>
#{copy:start}渲染多行文本,并替换局部内容:#{contents} 和 #{another_contents}<br>
#{copy:end}
</body>
</html>
test.py:

import sys

from document_template import DocumentTemplate

__author__ = 'liying'

if sys.version_info < (3, 0):
    reload(sys)
    sys.setdefaultencoding('utf-8')

if __name__ == '__main__':
    id_dict = {"title": "标题", "head": "正文标题", "url": "https://github.com/liying2008", "large_font": "大号字体"}
    id_dict['show_span'] = True

    # Multi-line copy supports string, list and tuple
    # id_dict['contents'] = 'ABCDEFG'
    # id_dict['another_contents'] = '1234567'
    id_dict['contents'] = ('A', 'B', 'C', 'D', 'E', 'F', 'G')
    id_dict['another_contents'] = ['1', '2', '3', '4', '5', '6', '7']
    dt = DocumentTemplate()
    dt.load("test.html", encoding='utf-8')
    dt.set_identifier_dict(id_dict)
    dt.save_document("new_test.html")

指令说明

  • 普通变量:#{var} 定义普通模板变量;

  • bool指令:#{bool:var}text#{bool:var} 通过变量 var 是否为 True 控制 text 是否显示,或者 #{bool:!var}text#{bool:!var} 通过变量 var 是否为 False 控制 text 是否显示;

  • copy指令:#{copy:start}text#{collection_var}#{copy:end} 循环遍历 collection_var ,将其值填充到内容中。

注意事项

  • 不支持 copy 指令 内使用 copy 指令bool 指令

LICENSE

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

document-template-1.1.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

document_template-1.1.0-py2.py3-none-any.whl (6.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file document-template-1.1.0.tar.gz.

File metadata

  • Download URL: document-template-1.1.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.0

File hashes

Hashes for document-template-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7a79dfc958bf3833b7d852ffa302fc7ec4e9b9bf1fc74a273cad2cc4dbffa9c6
MD5 69ef782bb822581753c17ac2503c972f
BLAKE2b-256 d83356aa6c63a7912b8750f9a0db2a71e4c5b64288046596bbd43b611a4283a4

See more details on using hashes here.

File details

Details for the file document_template-1.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for document_template-1.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 847bb699812903880cf00a80d621467f31e602198daa016fd655ec635e346686
MD5 2f847a249c2355d6bf8237560cd2fc54
BLAKE2b-256 8a7ec0d50788e2c10c7fe85053bb7269b490a455605880c165ac2e723c63a5c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page