How to access array elements in a Django template?
I am getting an array arr
passed to my Django template. I want to access individual elements of the array in the array (e.g. arr[0]
, arr[1]开发者_开发知识库
) etc. instead of looping through the whole array.
Is there a way to do that in a Django template?
Remember that the dot notation in a Django template is used for four different notations in Python. In a template, foo.bar
can mean any of:
foo[bar] # dictionary lookup
foo.bar # attribute lookup
foo.bar() # method call
foo[bar] # list-index lookup
It tries them in this order until it finds a match. So foo.3
will get you your list index because your object isn't a dict with 3 as a key, doesn't have an attribute named 3, and doesn't have a method named 3.
arr.0
arr.1
etc.
You can access sequence elements with arr.0
, arr.1
and so on. See The Django template system chapter of the django book for more information.
When you render
a request to context
some information, for example:
return render(request, 'path to template', {'username' :username, 'email' :email})
You can access to it on template, for variables
{% if username %}{{ username }}{% endif %}
for arrays
{% if username %}{{ username.1 }}{% endif %}
{% if username %}{{ username.2 }}{% endif %}
you can also name array objects in views.py
and then use it as shown below:
{% if username %}{{ username.first }}{% endif %}
精彩评论