我有一个评估用户输入的Python程序;例如,名字和姓氏。我想在未注册名称时显示HTML文件。如何在HTML中显示此类信息?我们的想法是"自动生成" HTML页面,以便我的views.py可以显示内容。
我知道Django有{%block%}标记或{{variable}}标记,但我不确定如何在Python中使用它或者它是否有效的语法。
示例Python程序
def checkDB ():
....
if re.search (self.name, db):
print ('Name exists.')
else:
print ('Cannot find names.')
with open (templates/response.html', 'a') as html:
html.write (self.name)
示例HTML文件
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Page Title</title>
</head>
<body>
<h3>The following name(s) are not registered:</h3>
<ul>
<li>{% block content %}{% end block %}</li>
</ul>
</body>
</html>
更新
希望这是有道理的。如果你有任何更好的方法,我会全力以赴。
答案 0 :(得分:0)
我认为你可能正在寻找的是将模板渲染为字符串的方法。使用Django,您可以使用位于模板加载器中的render_to_string
函数来完成此任务...
from django.template.loader import render_to_string
def checkDB (self):
....
if re.search (self.name, db):
print ('Name exists.')
else:
return render_to_string('templates/response.html', {'name': self.name})
但是,我不确定您是否需要做任何不同或特殊的事情才能在Django应用程序的上下文之外使用此功能。