Passing a python list to django template

2019-02-18 14:28发布

I want to display a list of things on my template. So I have a view to generate that list and pass it to template like this:

newlinks = []
try:
    links=urllib2.urlopen("<<Some HTML file link>>").readlines()
except (urllib2.HTTPError):
    links = ''
    pass
for link in links:
    newlinks.append(link[0:-1])                       
return render_to_response('template11.html', {'links',newlinks}, context_instance=RequestContext(request))

But while rendering it, i get TypeError

Exception Type: TypeError
Exception Value: unhashable type: 'list'

This is template code:

{% for link in links %}
    <li>{{ link }}</li>
{% endfor %}

I don't understand this error. Also if this approach is wrong(I think it is), then how would I pass a list to template?

2条回答
Animai°情兽
2楼-- · 2019-02-18 14:54

In return render_to_response(), {'links',newlinks} is causing the error. It should be {'links': newlinks}.

查看更多
再贱就再见
3楼-- · 2019-02-18 15:09

And here is what you would put in the template11.html

<ul>
  {% for link in links %}
    <li>{{ link }}</li>
  {% endfor %} 
</ul>
查看更多
登录 后发表回答