gpt4 book ai didi

python - Django 模板标签创建空间

转载 作者:太空宇宙 更新时间:2023-11-04 05:23:10 25 4
gpt4 key购买 nike

我正在开发一个位于 this site 的 Django 站点.由于 HTML 中不需要的空格,我的输出中出现了不需要的空格。

例如,“01-1737 , Civilian Review Authority , INAPPROPRIATE LANGUAGE, SUSTAINED,” 在大多数逗号前有额外的空格。

我发现其他帖子也有类似的问题,但没有一个解决方案对我有用。我尝试了 {% spaceless %} 标签,但没有用。唯一对我有用的是将所有模板标签放在 for 循环中的一行中,但我真的很想找到比这更具可读性的解决方案。

这是 Django 模板的代码:

{% extends 'police_archive/base.html' %}

{% block content %}
<h2> {{officer.first_name}} {{officer.last_name}}, badge #{{officer.badge}} </h2>
<p><strong>Department:</strong> {{officer.department}}</p>
<h2>Complaints</h2>
<ul>
{% for details in details_list %}
<li>


{% if details.incident.case_number %}
<a href='/police_archive/complaint/{{details.incident.case_number}}'>
{{details.incident.case_number}}
</a>
{% else %}
No Case Number Found
{% endif %}


{% if details.incident.office %}
, {{details.incident.get_office_display}}
{% else %}
, No office found
{% endif %}

{% if details.allegation %}
, {{details.allegation}}
{% endif %}

{% if details.finding %}
, {{details.finding}}
{% endif %}

{% if details.action %}
, {{details.action}}
{% endif %}

</li>
{% endfor %}


{% endblock %}

最佳答案

原因{% spaceless %}没有为您删除所有空间是因为它只适用于 HTML 标签。您的空格出现在 <li>标签。

我似乎无法为 Django 的标准模板系统找到好的解决方案,但它看起来确实像 Jinja提供您正在寻找的东西。它使用破折号去除尾随或前导空格:

{% for item in seq -%}
{{ item }}
{%- endfor %}

为了使用 Jinja 而不是 Django 的默认模板系统,你必须改变你的 settings.py Django's docs 描述的文件:

TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2.',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
# ... some options here ...
},
},
]

关于python - Django 模板标签创建空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39644478/

25 4 0