4

ターミナルで正常に動作しているように見えるこの単純なメソッドを作成しましたが、ブラウザーで起動するたびに、「タイプ '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():
4

1 に答える 1

10

HttpResponse呼び出さずに戻ります。これはクラスであるため、反復可能ではありません。

htmlおそらく、あなたは応答を返すつもりでしたか?

return HttpResponse(html)
于 2013-01-12T10:11:33.853 に答える