【问题标题】:How to insert dynamic string in wxpython html window? (wx.html.htmlwindow)如何在 wxpython html 窗口中插入动态字符串? (wx.html.html窗口)
【发布时间】:2010-07-20 06:13:15
【问题描述】:

我正在 wxpython 中创建一个 html 窗口并想打印它。在此之前,我需要在 html 页面中输入用户输入(例如他的姓名或诸如此类的东西)。如何很好地做到这一点? 提前致谢,

【问题讨论】:

    标签: python wxpython tags


    【解决方案1】:

    使用Jinja2

    在需要显示用户输入数据的地方创建一个带有变量的 HTML 模板。然后使用包含该数据的字典呈现模板。

    这里,我给你写一个帮助模块。

    # templates.py
    import jinja2 as jinja
    
    def create_env():
        loader = jinja.FileSystemLoader(PATH_TO_YOUR_TEMPLATES)
        env = jinja.Environment(loader=loader)
        return env
    
    env = create_env()
    
    def render(name, context=None):
        context = context or {}
        return env.get_template(name).render(context)
    
    # my_module.py
    import templates
    
    data = {
        'first_name': 'John',
        'last_name': 'Smith',
    }
    
    html = templates.render('my_template.html', data)
    # do something with html string
    
    # my_template.html
    <p>Hello, {{ first_name }} {{ last_name }}.  This is a template.</p>
    

    【讨论】:

      【解决方案2】:

      我想到了几种方法。如果它就像一封只替换特定部分的套用信函,那么您可以将其交给用户并有一些文本控件供他们填写。像这样:

      亲爱的#NAME,

      感谢您联系#COMPANY,等等等等

      然后为每个可替换部分设置一个文本控件。另一种方法是使用 RichTextCtrl 的 Save As HTML 功能。有关示例,请参见 wxPython 演示应用程序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-07
        • 1970-01-01
        相关资源
        最近更新 更多