【发布时间】:2015-06-12 17:50:11
【问题描述】:
我有一个评估用户输入的 Python 程序;例如,名字和姓氏。我想在名称未注册时显示到 HTML 文件。如何在 HTML 中显示此类信息?这个想法是“自动生成” HTML 页面,以便我的 views.py 可以显示内容。
期望的输出:
以下名称未注册:
- Name_One
- Name_Two
- Name_Three
我知道 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>
更新
- Django Views 将循环浏览表单并获取数据。它会 然后写入一个文本文件,然后调用我的 main() 程序。
- Main () 将循环遍历文本文件,然后将各个信息传递给 checkDB 类,在该类中处理数据。
- checkDB 将检查名称是否存在并写入 HTML 文件,以便 Django 视图可以向用户显示该错误。
希望这是有道理的。如果你有更好的方法,我完全赞成。
【问题讨论】:
-
您是否打算在每次脚本运行时创建一个新的 html?或者脚本只运行一次,记录名称并将它们放在静态文件中。然后 django 视图将只呈现特定 url 的静态 html?
-
没错。该程序将运行一次并附加到现有的 HTML 文件,以便 Django 视图可以显示它。我已将原始帖子更新为更具体,但如果您有更好的选择,请告诉我。谢谢。