我正在尝试创建一个 HTML 表来显示 mongodb 集合的内容。该集合包含有关来自小型企业的不同客户订单的数据。某些数据将始终存在于给定文档中,例如客户姓名和电话号码。但是,每个文档中的某些数据需要有所不同,例如订购的商品,因为一位客户可能订购 1 件商品,而另一位可能订购 3 件商品。因此,如果我有一个 mongodb 集合,其中包含每个文档中包含任意数字字段的文档,我如何将它们动态添加到 HTML 表中以显示文档的内容?作为我正在寻找的显示类型的示例,这是我知道将保持不变的字段的硬编码 HTML。
<!DOCTYPE html>
<html>
<head>
<head>
<title>Invoice Report</title>
<style type="text/css">
body {font-family:sans-serif;color:#4f494f;}
form input {border-radius: 7.5px;}
h5 {display: inline;}
.label {text-align: right}
.ordersBook {float:left; padding-top: 10px;}
.name {width:100%;float:left; padding:3px;}
.wrapper { padding-left: 25px; padding-top: 20px}
</style>
<script type="text/javascript">
var itemRe = /item*/;
}
</script>
</head>
</head>
<body>
<div class="invoice">
<h4>Order Form:</h4>
<table border="1">
<tr>
<th>Name:</th>
<td>{{rows['name']}}</td>
</tr>
<tr>
<th>Created:</th>
<td>{{rows['created']}}</td>
</tr>
<tr>
<th>Phone:</th>
<td>{{rows['phone']}}</td>
</tr>
<tr>
<th>Email:</th>
<td>{{rows['email']}}</td>
</tr>
<tr>
<th>Item:</th>
<td>{{rows['item']}}</td>
</tr>
</div>
<tr>
<th>Quantity:</th>
<td>{{rows['qty']}}</td>
</tr>
<tr>
<th>Color:</th>
<td>{{rows['color']}}</td>
</tr>
<tr>
<th>Quote:</th>
<td>{{rows['quote']}}</td>
</tr>
</table>
</div>
</body>
</html>
动态创建整个表可能会更好,但我不确定这样做的正确位置是什么
- 在 HTML 文件中的 javascript 函数中?
- 或者可能在维护 mongodb 数据库信息的 pymongo 文件中?
处理将 mongodb 文档发送到 HTML 表单的 python 代码使用了 python Bottle 模板。
@bottle.route('/view/<_id>', method = 'GET')
def show_invoice(_id):
client = pymongo.MongoClient("mongodb://localhost")
db = client.orders
collection = db.myorders
from bson.objectid import ObjectId
result = collection.find_one({'_id': ObjectId(_id)})
return bottle.template('invoice', rows = result)
我非常感谢有人能够提供的任何帮助! =)
最佳答案
查看瓶子模板引擎的文档,看起来您可以使用“ifs”和“fors”来完成此操作。
例如,如果您的订单存储在 rows['orders'] 中,而您不知道其中有多少,您可以在模板中放置:
%for item in rows['orders']:
<td>{{item}}</td>
%end
或者说,如果您的客户订购的商品经常缺货,并且您已经传入另一个变量“缺货”,那么您需要显示一条特殊警告,该变量指定了这一点:
%if backorder:
<span>This item is frequently on backorder</span>
%end
我还没有测试过其中任何一个,但我已经使用 Django 和 Flask 模板引擎完成了类似的事情。我从这里提取了这些样本:
http://bottlepy.org/docs/dev/tutorial.html#templates
和此处的“用于格式化输出的瓶子模板”部分:
http://bottlepy.org/docs/dev/tutorial_app.html#using-bottle-for-a-web-based-todo-list
希望这对您有所帮助!
关于javascript - 使用 HTML 显示 MongoDB 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17856809/