Answer a question

I am trying to pass in url parameters to a django template like this...

response = render_to_string('persistConTemplate.html', request.GET)

This the calling line from my views.py file. persistConTemplate.html is the name of my template and request.GET is the dictionary that contains the url parameters.

In the template I try to use one of the parameters like this...

{% for item in (numItems) %}

  item {{item}}

{% endfor %}

numItems is one of the url parameters that I am sending in my request like this...

http:/someDomain/persistentConTest.html/?numItems=12

When I try the for loop above, I get an output like this....

image 1 image 2

I am expecting and would like to see the word image printed 12 times...

image 1 image 2 image 3 image 4 image 5 image 6 image 7 image 8 image 9 image 10 image 11 image 12

Can anyone please tell me what I am going wrong?

Answers

Yes, the place for this is in the view.

I feel like the above example won't work -- you can't iterate over an integer.

numItems = request.GET.get('numItems')

if numItems:
   numItems = range(1, int(numItems)+1)

return direct_to_template(request, "mytemplate.html", {'numItems': numItems})


{% for item in numItems %}
 {{ item }}
{% endfor %}
Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐