如何检查模板中的空变量?异常值:无法解析余数
How check empty variable in template? Exception Value: Could not parse the remainder
{% extends 'pygiustizia/base.html' %}
{% block body %}
<div class="wrapper">
<h2>Login</h2>
<p>Prego, inserisci le tue credenziali di login.</p>
<div class={% if len(tmplVar.loginErr) > 0 %} "alert alert-danger" {% endifequal %}> {% if tmplVar.loginErr is not None %} {{tmplVar.loginErr}} {% endif %}</div>
<form action="{% url 'login' %}" method="post">
<div class="form-group">
<label>Username</label>
<input type="text" name="username" class="form-control {% if tmplVar.usernameErr is not None %} is-invalid {% endif %}" value="{{tmplVar.username}}">
<span class="invalid-feedback">{% if tmplVar.usernameErr is not None %} {{tmplVar.usernameErr}} {% endif %}</span>
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="password" class="form-control {% if tmplVar.passwordErr is not None %} is-invalid {% endif %}" value="{{tmplVar.password}}">
<span class="invalid-feedback">{% if tmplVar.passwordErr is not None %} {{tmplVar.passwordErr}} {% endif %}</span>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Login">
</div>
</form>
</div>
{% endblock %}
异常值:无法解析余数:来自 'len(tmplVar.loginErr)'
的“(tmplVar.loginErr)”
我想念什么?如何检查变量是否为空或长度为 0?
你不能使用len(…)
: Django 的模板语言中有意限制函数调用。你可以利用|length
template filter [Django-doc]。但这里检查真实性就足够了:
<div {% <strong>if tmplVar.loginErr</strong> %}class="alert alert-danger"{% endif %}>
这将检查长度是否大于零,因为集合(列表、元组、字符串等)如果为空则具有真实性False
。
{% extends 'pygiustizia/base.html' %}
{% block body %}
<div class="wrapper">
<h2>Login</h2>
<p>Prego, inserisci le tue credenziali di login.</p>
<div class={% if len(tmplVar.loginErr) > 0 %} "alert alert-danger" {% endifequal %}> {% if tmplVar.loginErr is not None %} {{tmplVar.loginErr}} {% endif %}</div>
<form action="{% url 'login' %}" method="post">
<div class="form-group">
<label>Username</label>
<input type="text" name="username" class="form-control {% if tmplVar.usernameErr is not None %} is-invalid {% endif %}" value="{{tmplVar.username}}">
<span class="invalid-feedback">{% if tmplVar.usernameErr is not None %} {{tmplVar.usernameErr}} {% endif %}</span>
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="password" class="form-control {% if tmplVar.passwordErr is not None %} is-invalid {% endif %}" value="{{tmplVar.password}}">
<span class="invalid-feedback">{% if tmplVar.passwordErr is not None %} {{tmplVar.passwordErr}} {% endif %}</span>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Login">
</div>
</form>
</div>
{% endblock %}
异常值:无法解析余数:来自 'len(tmplVar.loginErr)'
的“(tmplVar.loginErr)”我想念什么?如何检查变量是否为空或长度为 0?
你不能使用len(…)
: Django 的模板语言中有意限制函数调用。你可以利用|length
template filter [Django-doc]。但这里检查真实性就足够了:
<div {% <strong>if tmplVar.loginErr</strong> %}class="alert alert-danger"{% endif %}>
这将检查长度是否大于零,因为集合(列表、元组、字符串等)如果为空则具有真实性False
。