首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django VSCode:如何使django-html格式成为预期的l?

Django VSCode:如何使django-html格式成为预期的l?
EN

Stack Overflow用户
提问于 2021-01-14 18:57:44
回答 1查看 702关注 0票数 1

我看到了大量关于VSCode格式的未回答的问题(如果不在这里,您在哪里问这些问题?)

当我试图编写django-html模板时,经常会遇到两个主要问题。

1. django-html文件中没有出现基本的HTML标记行中断。

当您编写html标记并在其中按enter键时,它应该用中间的空行分隔标签。

预期行为(管道“\”表示游标):

代码语言:javascript
运行
复制
<!-- Write the tag -->
<div>|</div>

<!-- Press enter -->
<tag>
  |
</tag>

以下是django-html文件在输入后发生的情况:

代码语言:javascript
运行
复制
<!-- Press enter -->
<tag>
|</tag>

如何用适当的模板标记格式(下面)来解决这个问题?

2. Django模板标记不像预期的那样缩进。

应该缩进if、with、block等标记中的标记。(被视为html) 预期结果:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    {% if x %}
      <p>I did x</p>
    {% else %} 
      <p> I did else</p>
    {% endif %}
    <nav class="navbar">
    </nav> 
    {% block content %}
      <div class="content">
        <p>I'm in contente</p>
      </div>
    {% endblock %}
  </body>
</html>

相反,django模板标记中的html标记是在相同的缩进级别上扁平的。实际结果:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    {% if x %}
    <p>I did x</p>
    {% else %} 
    <p> I did else</p>
    {% endif %}
    <nav class="navbar">
    </nav> 
    {% block content %}
    <div class="content">
      <p>I'm in contente</p>
    </div>
    {% endblock %}
  </body>
</html>

此外,如果您要扩展一个模板:

代码语言:javascript
运行
复制
{% extends 'base.html' %} 

{% block main %}
  <div>
  </div>
{% endblock %}

发生了什么:

代码语言:javascript
运行
复制
{% extends 'base.html' %}

{% block main %}
<div>
</div>
{% endblock %}

结论

为了解决这些问题,我使用了更漂亮更漂亮的方法,但也没有达到100%的预期行为(尤其是模板标签),但它们确实有帮助。

我相信,只要稍加调整,它们就可以具有预期的行为,并将django模板标记视为html标记,并具有html换行功能。

如何使这些格式与这两个简单的规范正确?

EN

回答 1

Stack Overflow用户

发布于 2022-09-14 11:48:51

通过使用小枝语言2扩展并在我的项目设置中放置以下内容,我得到了想要的结果:

代码语言:javascript
运行
复制
  "files.associations": {
    "*.html": "twig"
  },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65725275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档