I wrote this simple method that works fine in the terminal, but every time I run it in the browser, I get: an argument of type "type" is not iterable.
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> <div class="subscriptionsDiv"> <ol class="subscriptionsList"> {% for subscription in subscriptions_list %} <li>{{ subscription }}</li> {% endfor %} </ol> </div> <div class="itemsDiv"> <ol class="itemsList"> {% for item in items_list %} <li>{{ item }}</li> {% endfor %} </ol> </div> </div> </body>
Track:
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():
user1972127
source share