如何在wxpythonhtml窗口中插入动态字符串?(wx.html.htmlwindows)

2024-04-25 03:30:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在wxpython中创建一个html窗口并希望打印它。在此之前,我需要在html页面中输入用户输入(比如他的名字或类似的东西)。怎样才能做到这一点? 提前谢谢你


Tags: 用户htmlwxpython页面名字
2条回答

我想到了几种方法。如果它像一个只替换特定部分的表单信函,那么您可以将其发送给用户,并为他们提供一些文本控件来填充。像这样:

尊敬的姓名:

谢谢你联系公司,废话连篇

然后为每个可替换部件设置一个文本控件。RichTextCtrl的另一个功能是保存HTML。有关示例,请参见wxPython演示应用程序。在

使用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>

相关问题 更多 >