首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么django模板中的for循环会在我的标签末尾添加空格?

在Django模板中,for循环在标签末尾添加空格的原因是为了保持模板的可读性和一致性。这个空格是为了在生成的HTML代码中提供更好的排版和可视化效果。

当使用Django模板中的for循环时,循环体中的内容会被重复渲染,并且每次渲染都会在标签末尾添加一个空格。这样做的目的是为了确保生成的HTML代码在浏览器中正确解析和显示。

这种设计决策是为了避免在生成的HTML代码中出现不必要的空格或换行符,从而影响页面的布局和样式。通过在标签末尾添加空格,可以确保生成的HTML代码在不同浏览器中具有一致的呈现效果。

虽然这个空格可能会在某些情况下引起一些困扰,但可以通过在模板中使用一些技巧来避免或处理这个问题。例如,可以使用strip标签来去除生成的HTML代码中的空格,或者使用CSS样式来控制空格的显示方式。

总之,Django模板中for循环在标签末尾添加空格是为了保持生成的HTML代码的一致性和可读性,以确保在不同浏览器中正确解析和显示页面。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django 模板HTML中 变量 过滤器 标签 的使用方法

最近在自学django,整理常用模块如下 一、变量 1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量。...:{{ text | escape | linebreaks }} 3.过滤器还可以带参数,例如: {{ bio|truncatewords:30 }} 4.过滤器的参数中如果带有空格...,那么需要用引号引起来,例如:{{ list | join : “, “}} 5.django中30个内建的过滤器 (1)add 使用形式为:...三、标签 1.标签的形式是:{% tag %},标签要比变量复杂 2.标签的作用 (1)在输出时创建一些文本 (2)通过执行循环和一些逻辑来实现控制流...include 使用形式:{% include “foo/bar.html” %}或者{% include template_name %} 意义:将另外一个模板文件中的内容添加到该文件中

4K40

如何使用Python中Django模板?

在这个例子中,只有一个头部标签根据用户是否验证来渲染。 for循环标签是另一个核心标签。在Django模板中,for循环会像你想象到的那样工作。 ?...Django会循环遍历像列表一样的可迭代对象,并对每个可迭代对象的中的项让用户输出模板响应。如果上面的例子中列表的内容像下面一样: ? 对应的输出的大概会是这样: ?...模板的工具箱 Django的文档中包含大量可用于项目的内置标签。我们的内容无法覆盖所有这些标签,但是我将关注几个标签给你展示哪些东西是可用的。...用Django中的格式说明符,你可以告诉模板怎样去展示当前时间。想在网站里添加当前的版权年份吗?一点问题都没有! ? 最后需要学习的内建标签是spaceless标签。HTML对空格部分敏感。...它功能和Django模板中的len函数一样。 我非常喜欢linebreaks过滤器。

3.9K30
  • Django的模板系统

    () {{ value|date:"Y-m-d H:i:s"}}   关于时间日期的可用的参数(除了Y,m,d等等)还有很多   safe Django的模板中在进行模板渲染的时候会对HTML标签和JS...等语法标签进行自动转义,原因显而易见,这样是为了安全,django担心这是用户添加的数据,比如如果有人给你评论的时候写了一段js代码,这个评论一提交,js代码就执行啦,这样你是不是可以搞一些坏事儿了,写个弹窗的死循环...标签比变量更复杂:一些在输出中创建文本,一些通过循环或逻辑来控制流程,一些加载其后的变量将使用到的额外信息到模板中.一些标签需要开始和结束标签(例如{% tag %} ...标签 内容 ... {% endtag...,明白为什么django会加这一套防御。  ...其他的任何情况下,模版继承都将无法工作,模板渲染的时候django都不知道你在干啥。 在base模版中设置越多的 {% block %} 标签越好。

    1.7K10

    Django中的模板相关

    DIRS :这是一个列表,在这个列表中可以存放所有的模板路径,以后在视图中使 用 render 或者 render_to_string 渲染模板的时候,会在这个列表的路径中查找模板。...APP_DIRS :默认为 True ,这个设置为 True 后,会在 INSTALLED_APPS 的安装了的 APP 下的 templates 文件加中查找模板。...先会在 DIRS 这个列表中依次查找路径下有没有这个模板,如果有,就返回。...如果 DIRS 列表中所有的路径都没有找到,那么会先检查当前这个视图所处的 app 是否已经安装,如果已经安装了,那么就先在当前这个 app 下的 templates 文件夹中查找模板,如果没有找到,那么会在其他已经安装了的...如果所有路径下都没有找到,那么会抛出一个 TemplateDoesNotExist 的异常。 模板语法 模板中可以包含变量, Django 在渲染模板的时候,可以传递变量对应的值过去进行替换。

    19040

    Django之Template介绍及日常应用

    Django模板语言 Django模板是一个简单的文本文档,或用Django模板语言标记的一个Python字符串。 某些结构是被模板引擎解释和识别的。主要的有变量和标签。...**for标签中可以使用forloop forloop.counter: 当前循环计数,从1开始 forloop.counter0: 当前循环计数,从0开始 forloop.recounter: 当前循环倒数计数...) 27 striptags 过滤掉html标签 具体可以查看 内置过滤器参考和 开发自定义过滤器指南这两篇文档. include模板 {% include 'included.html' %}标签允许在模板中包含其它的模板的内容...它们的主要用途是添加所有的模板context共享的公共数据,而不需要在每个视图中重复代码。 Django提供了很多 内置的context处理器 ....那大家有没有想过,我们调用render方法的时候并没有把request对象作为参数传给模板啊,为什么就可以直接调用呢?

    1.4K20

    Django之模板系统

    变量的命名包括任何字母数字以及下划线 ("_")的组合。 变量名称中不能有空格或标点符号。   深度查询据点符(.)在模板语言中有特殊的含义。当模版系统遇到点(".")...比如使用逗号和空格去连接一个列表中的元素,如:{{ list|join:', ' }} '|'左右没有空格没有空格没有空格   Django的模板语言中提供了大约六十个内置过滤器。   ...safe     Django的模板中在进行模板渲染的时候会对HTML标签和JS等语法标签进行自动转义,原因显而易见,这样是为了安全,django担心这是用户添加的数据,比如如果有人给你评论的时候写了一段...,明白为什么django会加这一套防御。     ...其他的任何情况下,模版继承都将无法工作,模板渲染的时候django都不知道你在干啥。 在base模版中设置越多的 {% block %} 标签越好。

    1.3K20

    django 1.8 官方文档翻译:4-2-1 Django模版语言

    Django的模版系统提供了和一些程序结构功能类似的标签——用于布尔判断的 if 标签, 用于循环的 for 标签等等。...你可以在 内置标签参考手册中阅读全部关于它们的内容。为了体验一下它们的作用,这里有一些常用的标签: for 循环数组中的每个元素。...base模板中关闭,它也会在child模板中关闭,导致当 greeting变量含有Hello!...要在模板中访问它们,确保应用在INSTALLED_APPS之内(在这个例子中我们添加了'django.contrib.humanize'),之后在模板中使用load标签: {% load humanize...如果你开启了django.contrib.admindocs,你可以查询admin站点中的文档部分,来寻找你的安装中的自定义库列表。 load标签可以接受多个库名称,由空格分隔。

    1.2K30

    04.Django基础四之模板系统

    变量的命名包括任何字母数字以及下划线 ("_")的组合。 变量名称中不能有空格或标点符号。   深度查询据点符(.)在模板语言中有特殊的含义。当模版系统遇到点(".")...比如使用逗号和空格去连接一个列表中的元素,如:{{ list|join:', ' }} '|'左右没有空格没有空格没有空格   Django的模板语言中提供了大约六十个内置过滤器。...safe     Django的模板中在进行模板渲染的时候会对HTML标签和JS等语法标签进行自动转义,原因显而易见,这样是为了安全,django担心这是用户添加的数据,比如如果有人给你评论的时候写了一段...,明白为什么django会加这一套防御。     ...这里是使用继承的一些提示: 如果你在模版中使用 {% extends %} 标签,它必须是模版中的第一个标签。其他的任何情况下,模版继承都将无法工作,模板渲染的时候django都不知道你在干啥。

    2.6K30

    关于“Python”的核心知识点整理大全54

    子模板并非必须定义父模板中的每个块,因此在父模板中,可使用任意多个块来预留空间, 而子模板可根据需要定义相应数量的块。 注意 在Python代码中,我们几乎总是缩进四个空格。...子模板的第一行必须包含标签{% extends %},让Django知道它继 承了哪个父模板。...在2处,我们使用了一个相当于for循环的模板标签,它遍历字典context中的列表topics。...模板中使用的代码与Python代码存在一些重要差别:Python使用缩进来指出哪些代码行是for循环 的组成部分,而在模板中,每个for循环都必须使用{% endfor %}标签来显式地指出其结束位置。...(见1),然后添加了一个到显示所有主题的页 面的链接——使用的也是模板标签url(见2)。

    18010

    helm charts 模板编程

    文章目录 模板函数与管道 模板函数 辅助模板 管道 default 函数 lookup 函数 控制流程:判断、循环 if/else 条件 空格控制 使用 with 修改范围 range 循环 变量...同样还是以上面的 ConfigMap 模板文件为例,添加一个简单的条件判断,如果 python 被设置为 django,则添加一个web: true:(tempaltes/configmap.yaml)...YAML文件中的空格是非常严格的,所以对于空格的管理非常重要,一不小心就会导致你的YAML文件格式错误。...我们可以通过使用在模板标识{{后面添加破折号和空格{{-来表示将空白左移,而在}}前面添加一个空格和破折号-}}表示应该删除右边的空格,另外需要注意的是换行符也是空格!...chart 中的值,比如我们可以在 mychart/values.yaml 文件中添加上子 chart 的值: course: k8s: devops python: django courselist

    6.9K40

    Django学习笔记之Django模版系统

    slice 切片 {{value|slice:"2:-1"}} date 格式化 {{ value|date:"Y-m-d H:i:s"}} safe Django的模板中会对HTML标签和JS等语法标签进行自动转义...但是有的时候我们可能不希望这些HTML元素被转义,比如我们做一个内容管理系统,后台添加的文章中是经过修饰的,这些修饰可能是通过一个类似于FCKeditor编辑加注了HTML修饰符的文本,如果自动转义的话显示的就是保护...为了在Django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。...Django的模板语言不支持连续判断,即不支持以下写法: {% if a > b > c %} ... {% endif %} 2....page-main %} {% endblock %} 母板底部内容 {% block page-js %} {% endblock %} 注意:我们通常会在母板中定义页面专用的

    95920

    模板语言

    点(.)在模板语言中有特殊的含义,用来获取对象的相应属性值。...slice 切片 {{value|slice:"2:-1"}} date 格式化 {{ value|date:"Y-m-d H:i:s"}} safe Django的模板中会对HTML标签和JS等语法标签进行自动转义...但是有的时候我们可能不希望这些HTML元素被转义,比如我们做一个内容管理系统,后台添加的文章中是经过修饰的,这些修饰可能是通过一个类似于FCKeditor编辑加注了HTML修饰符的文本,如果自动转义的话显示的就是保护...为了在Django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。...page-main %} {% endblock %} 母板底部内容 {% block page-js %} {% endblock %} 注意:我们通常会在母板中定义页面专用的

    1.1K80

    Django的设计哲学

    这就是为什么在模型类中同时定义了模型所代表的数据和有关该模型的信息(其可读名称,默认排序等选项)的原因;了解给定模型所需的所有信息都应存储在模型中。...4、XML不应该用于模板语言 使用XML引擎解析模板会在编辑模板时引入一个全新的人为错误世界,并在模板处理中产生不可接受的开销。...Django 希望模板作者可以轻松地直接编辑HTML。 6、明显地对待空白 模板系统不应使用空格执行魔术操作。如果模板包含空白,则系统应在处理文本时将其视为空白–仅显示它。...任何空格,只要模板标记中没有的,都应该显示它。 7、不要发明一种编程语言 目的不是发明一种编程语言。目的是提供足够的编程式功能,例如分支和循环,这对于做出与演示相关的决定至关重要。...这是自定义模板标签和过滤器背后的理念。 六、视图方面: 1、简单 编写视图应该和编写 Python 函数一样简单。当函数可以使用时,开发人员不必实例化一个类。

    2.2K10

    Django模板中使用消息message框架

    这就是为什么必须启用SessionMiddleware,并且在中间件中的MessageMiddleware之前。...在模板设置中定义的DjangoTemplates的context_processor选项包含django.contrib.messages.context_processors.messages。...试图添加低于此级别的消息将被忽略。 消息标签 消息标签是消息级别的字符串表示形式,加上直接在视图中添加的任何额外标记(有关更多细节,请参阅下面添加额外消息标记)。标记存储在字符串中,并由空格分隔。...:https://docs.djangoproject.com/zh-hans/2.1/ref/contrib/messages/ 消息类 class storage.base.Message 当您在模板中循环消息列表时...(request) 默认类型有:(message.INFO) DEBUG INFO SUCCESS WARNING ERROR 也可以在setting.py中自定义自己的等级标签 附上我的代码

    2.9K20

    djano-模板层基础知识

    一、模板语言(变量,深度查询,过滤器,标签) 1、变量 在django模板里通过{{ name }} 表示一个变量,name就是一个变量名 首先我们要明白这个变量是怎么传出来的,...,但不可以是标签,没有为什么。...library() (4)、继续在该文件中写的函数,过滤器,标签其本质也是一个函数,但是你写的函数必须要有装饰器,这样才能成为过滤器,标签。...就是我之前自定义的过滤器,不要在add 名字和已有的模板标签重名说到重名,我现在有个想法,它到底是执行django自带的过滤器,还是我定义的呢?...这肯定是由先后的,自己去试试。 {% add1 'zhuyu' 'nb' '!'%} #这里这个add1标签必须传多个参数,用空格去区别。

    54330

    Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)

    在 Django 模板中遍历复杂数据结构的关键是句点字符  ....标签比变量更加复杂:一些在输出中创建文本,一些通过循环或逻辑来控制流程,一些加载其后的变量将使用到的额外信息到模版中。...有时候,想在父模板的基础上再添加点其他的,而不是完全覆盖父模板的内容,那么你只需要在想要填充的块里,再加上一句 {{ block.super }},我们就可以把父模板里的东西给留下来,如: 父模板中的...注意:模板一般放在app下的templates中,Django会自动去这个文件夹中找。...(答案是不一定能,有可能找错) Django 模板查找机制: Django 查找模板的过程是在每个 app 的 templates 文件夹中找(而不只是当前 app 中的代码只在当前的 app 的 templates

    2.6K80

    django模板系统(上)

    模板中只需要记两种特殊符号 {{  }} 和 {%  %} {{  }} 表示变量,在模板渲染的时候替换成值,{%  %} 表示逻辑相关的操作。...在字典中查询   2.  属性或者方法   3.  数字索引 Filters 翻译为过滤器,用来修改变量的显示结果 语法:{{ value|filter_name:参数 }} “ | 左右没有空格!...:s"}} 个可视化输出的字符:点击查看 safe Django的模板中会对HTML标签和JS等语法标签进行转义,原因显而易见,这样是为了安全。...但是有的时候我们可能不希望这些HTML元素被转义,比如我们做一个内容管理系统,后台添加的文章中是经过修饰的,这些修饰可能是通过一个类似于FCKeditor编辑加注了HTML修饰符的文本,如果自动转义的话显示的就是保护...为了在django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉django这段代码是安全的不必转义。

    86830

    页面侧边栏:使用自定义模板标签

    更好的解决方案是直接在模板中获取,为此,我们使用 Django 的一个新技术:自定义模板标签来完成任务。...使用模板标签的解决思路 我们前面已经接触过一些 Django 内置的模板标签,比如比较简单的 {% static %} 模板标签,这个标签帮助我们在模板中引入静态文件。...首页视图函数中从数据库获取文章列表并保存到 post_list 变量,然后把这个 post_list 变量传给模板,模板使用 for 模板标签循环这个文章列表变量,从而展示一篇篇文章。...以上就是解决思路,但模板标签不是我们随意写的,必须遵循 Django 的规范我们才能在 Django 的模板系统中使用自定义的模板标签,下面我们就依照这些规范来实现我们的需求。...recent_post_list 模板变量中,之后就可以通过 for 循环来循环显示文章列表数据了,这和我们在写首页视图时是一样的。

    1.5K60

    python终极篇 ---django

    Django模板中只需要记两种特殊符号: {{  }}和 {% %} {{ }}表示变量,在模板渲染的时候替换成值,{% %}表示逻辑相关的操作 变量 {{ 变量名 }} 变量名由字母数字和下划线组成。...= 'Y-m-d H:i:s'               USE_L10N = False safe Django的模板中会对HTML标签和JS等语法标签进行自动转义,原因显而易见...但是有的时候我们可能不希望这些HTML元素被转义,比如我们做一个内容管理系统,后台添加的文章中是经过修饰的,这些修饰可能是通过一个类似于FCKeditor编辑加注了HTML修饰符的文本,如果自动转义的话显示的就是保护...为了在Django中关闭HTML的自动转义有两种方式,如果是一个单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义。...例如: 在母板中某个位置写上 {% block aaa %} 你好,世界 {% endblock %} 在继承模板 的 文件中写 {% block aaa %} 我最牛逼

    78210
    领券