for 循环 – Django 模板标签
Django 模板是使用 Django 模板语言标记的文本文档或Python字符串。 Django 是一个强大的包含电池的框架,为在模板中呈现数据提供了便利。 Django 模板不仅允许将数据从视图传递到模板,而且还提供了一些有限的编程功能,例如变量、for 循环、注释、扩展等。
本文围绕如何在模板中使用for 标签展开。 for 标记循环遍历数组中的每个项目,使该项目在上下文变量中可用。
句法
{% for i in list %}
{% endfor %}
例子
例如,要显示运动员列表中提供的运动员列表:
html
{% for athlete in athlete_list %}
- {{ athlete.name }}
{% endfor %}
Python3
# import Http Response from django
from django.shortcuts import render
# create a function
def geeks_view(request):
# create a dictionary
context = {
"data" : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
}
# return response
return render(request, "geeks.html", context)
Python3
from django.urls import path
# importing views from views.py
from .views import geeks_view
urlpatterns = [
path('', geeks_view),
]
html
{% for i in data %}
{{ i }}
{% endfor %}
html
{% for o in some_list %}
...
{% endfor %}
for – Django 模板标签说明
使用示例说明如何在 Django 模板中使用 for 标记。考虑一个名为geeks
的项目,它有一个名为geeksforgeeks
的应用程序。
Refer to the following articles to check how to create a project and an app in Django.
- How to Create a Basic Project using MVT in Django?
- How to Create an App in Django ?
现在创建一个视图,我们将通过它传递上下文字典,
在geeks/views.py
中,
Python3
# import Http Response from django
from django.shortcuts import render
# create a function
def geeks_view(request):
# create a dictionary
context = {
"data" : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
}
# return response
return render(request, "geeks.html", context)
创建一个 url 路径以映射到此视图。在geeks/urls.py
中,
Python3
from django.urls import path
# importing views from views.py
from .views import geeks_view
urlpatterns = [
path('', geeks_view),
]
在
templates/geeks.html
中创建一个模板,html
{% for i in data %}
{{ i }}
{% endfor %}
让我们检查一下“/”上显示的内容是否显示在模板中。
包含在 for 标记之间的任何内容都将重复,循环运行的次数。
高级用法
也可以使用变量。例如,如果您有两个模板变量 rowvalue1 和 rowvalue2,您可以像这样在它们的值之间交替:
html
{% for o in some_list %}
...
{% endfor %}
高级用法
可以使用{% for obj in list reversed %}
反向循环列表。
如果您需要遍历列表列表,您可以将每个子列表中的值解包到单独的变量中。例如,如果您的上下文包含称为点的 (x, y) 坐标列表,则可以使用以下命令输出点列表:
{% for x, y in points %}
There is a point at {{ x }}, {{ y }}
{% endfor %}
如果您需要访问字典中的项目,这也很有用。例如,如果您的上下文包含字典数据,则以下内容将显示字典的键和值:
{% for key, value in data.items %}
{{ key }}: {{ value }}
{% endfor %}
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。