首页
学习
活动
专区
工具
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.django30个内建过滤器 (1)add 使用形式为:...三、标签 1.标签形式是:{% tag %},标签要比变量复杂 2.标签作用 (1)在输出时创建一些文本 (2)通过执行循环和一些逻辑来实现控制流...include 使用形式:{% include “foo/bar.html” %}或者{% include template_name %} 意义:将另外一个模板文件内容添加到该文件

4K40

如何使用PythonDjango模板

在这个例子,只有一个头部标签根据用户是否验证来渲染。 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.6K10

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.3K20

Django模板相关

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

16340

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.5K30

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

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

16710

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.7K40

Django实现将views.py数据传递到前端html页面,并展示

模板代码和普通HTML代码看上去没有太大差别,只是添加Django特定模板标记,这些标记允许开发者为Django模板添加页面逻辑,比方说将views.pyrender_to_response函数返回数据库结果集显示在页面...,Django特有的标签模板页里以“{%”作为开始并以“%}”作为结束。...这样标记告诉Django模板处理机制循环取出newsitem项输出在页面,在for循环内部,通过article_listing属性得到View对应数据项字段值并显示每个news项Title...按照本例应用结构,TEMPLATE_DIRS参数内容设置为: './article/templates', 这里不要忘记Django需要在路径末尾添加一个逗号。...页面显示了数据库添加所有新闻分类统计信息。值得一提是,Django模板支持多层嵌套,并且每一层都可以使用DIV+CSS方式完成布局,可以方便让站点页面遵循统一风格,看起来美观大方。

9K10

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 %} 注意:我们通常会在母板定义页面专用

94120

模板语言

点(.)在模板语言中有特殊含义,用来获取对象相应属性值。...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.1K10

djano-模板层基础知识

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

52930

Django模板中使用消息message框架

这就是为什么必须启用SessionMiddleware,并且在中间件MessageMiddleware之前。...在模板设置定义DjangoTemplatescontext_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.8K20

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

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

85030

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

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

1.5K60
领券