121๐
The template subsystem has some special constructs built into the for/endfor block that allows you to access the current index of the loop without having to call enumerate
.
{% for j in a %}
{{ forloop.counter0 }}, {{ j }}
{% endfor %}
While this snippet solves your immediate problem, if youโre expecting to have access to Python builtins and other Python constructs inside your Django templates, you may be misunderstanding the sandbox that it provides/enforces.
18๐
you can use {{ forloop.counter }}
or {{ forloop.counter0 }}
for the same effect, the latter is 0-indexed, thus more like enumerate
.
- [Django]-How to run celery as a daemon in production?
- [Django]-How do I migrate a model out of one django app and into a new one?
- [Django]-Django: How to manage development and production settings?
- [Django]-How to force a user logout in Django?
- [Django]-Problems with contenttypes when loading a fixture in Django
- [Django]-Filtering dropdown values in django admin
8๐
Django template makes up the presentation layer and are not meant for logic. From the docs
If you have a background in programming, or if youโre used to languages which mix programming code directly into HTML, youโll want to bear in mind that the Django template system is not simply Python embedded into HTML. This is by design: the template system is meant to express presentation, not program logic.
Now to get the same functionality in Django, you will have to complete your logic in the views.
views.py
def my_view(request, ...):
....
enumerated_a = enumerate(a);
....
return render_to_response('my_template.html', {'enumerated_a ': enumerated_a }..)
Now enumerate
function returns an enumerate object which is iterable.
my_template.html
{% for index, item in enumerated_a %}
{{ index }},{{ item }}
{% endfor %}
Although I think you can probably change it to an enumerated list and use it like that as well.
- [Django]-What does Django's @property do?
- [Django]-How to express a One-To-Many relationship in Django?
- [Django]-'staticfiles' is not a valid tag library: Template library staticfiles not found
1๐
If however you need to use a function within a template, i suggest you create a filter or a tag instead. For reference, check out http://docs.djangoproject.com/en/1.2/howto/custom-template-tags/
- [Django]-Django project models.py versus app models.py
- [Django]-Django 1.5 custom User model error. "Manager isn't available; User has been swapped"
- [Django]-Allowing RabbitMQ-Server Connections