我编写了这个简单的方法似乎在终端中工作正常,但每次我在浏览器中启动它时,我得到:类型'type'的参数不可迭代。
def get_main(request):
t = get_template('main.html')
p = urllib2.urlopen("http://www.caltech.edu/news/rss.xml")
x = minidom.parseString(p.read())
titles = x.getElementsByTagName("title")
items_list = []
for title in titles:
items_list.append(str(title.firstChild.nodeValue))
subscriptions_list = ['Caltech']
html = t.render(Context({'subscriptions_list': subscriptions_list, 'items_list': items_list}))
return HttpResponse
HTML:
<body>
<div class="wrap">
<div class="banner">Infobesity</div>
<!-- Subscriptions -->
<div class="subscriptionsDiv">
<ol class="subscriptionsList">
{% for subscription in subscriptions_list %}
<li>{{ subscription }}</li>
{% endfor %}
</ol>
</div>
<!-- Subscriptions End -->
<!-- Items -->
<div class="itemsDiv">
<ol class="itemsList">
{% for item in items_list %}
<li>{{ item }}</li>
{% endfor %}
</ol>
</div>
<!-- Items End -->
</div>
</body>
追溯:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
189. response = self.apply_response_fixes(request, response)
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in apply_response_fixes
237. response = func(request, response)
File "/usr/local/lib/python2.7/dist-packages/django/http/utils.py" in fix_location_header
19. if 'Location' in response and request.get_host():
答案 0 :(得分:10)
你没有打电话就返回HttpResponse
;它是一个类,因此不可迭代。
也许您打算在回复中返回html
?
return HttpResponse(html)