【发布时间】:2019-02-24 00:47:45
【问题描述】:
我正在尝试将我的 views.py 上的 pymongo 中的变量传递给模板。我没有收到任何错误,但我的代码也没有呈现到我的模板中。
views.py:
def getTheA(request):
for x in mycol.aggregate([{"$unwind":"$tags"},{'$match': {'tags.tag.name':'A A',}},{'$project': {'url': 1, 'AR': 1, 'tags.tag.name': 1, 'tags.variables': 1, '_id': 0}},]):
theURLs = x['url']
theNames = json.dumps(x['tags']['tag']['name'])
theVars = json.dumps(x['tags']['variables'])
context = {'theURLs' : theURLs}
return render(request, 'templates/a.html', context)
我的 HTML 代码非常简单。我只是想打印一个网址列表:
<ul>
<li><b>URLSSSS</h1></b>
{% for theURL in theURLs %}
<li>{{ theURL.theURLs }} </li>
{% endfor %}
</ul>
我的结果:
- URLSSSS
我是 Django 和 MongoDb 的新手,似乎无法弄清楚我哪里出错了。
【问题讨论】:
-
你应该使用 double 大括号,所以
{{ theURL.theURLs }}。 -
此外,
for循环相当奇怪:它将最后一个 (?!) 元素作为theURLs的值,等等。 -
@WillemVanOnsem,我的代码中确实有双花括号。我忘了在这里添加。我已经做出改变了
-
@newbierp 你能告诉我 theURL.theURLs 应该给你什么吗?我有一种感觉,你没有得到任何输出的原因是因为那是不正确的。另外,您能否对 html 进行全面检查并确保在您的初始元素之后没有一堆空的
- 元素?
-
我的检查没有显示空的
- 。
x['url']只包含一个 URL 列表,如下所示:www.google.com www.bing.com - 。
标签: python html django django-templates pymongo