{% for obj in form %} {% if obj.label != "员工" %} <div class="form-group"> <lable>{{ obj.label }}</lable> {{ obj }} <span style="color: red">{{ obj.errors.0 }}</span> </div> {% else %} {% endif %} {% endfor %}这段代码中我想要在else语句里自动填写{{ obj }} 为字典中传入的res_id 要怎么写?
时间: 2024-03-16 18:47:19 浏览: 108
可以使用 Django 中的模板语言中的 `{% with %}` 标签来实现。具体代码如下:
```
{% for obj in form %}
{% if obj.label != "员工" %}
<div class="form-group">
<label>{{ obj.label }}</label>
{{ obj }}
<span style="color: red">{{ obj.errors.0 }}</span>
</div>
{% else %}
{% with obj=res_id %}
{{ obj }}
{% endwith %}
{% endif %}
{% endfor %}
```
这里使用了 `{% with obj=res_id %}` 标签来创建一个名为 `obj` 的变量,并将其值设置为 `res_id`。然后在 `{% endwith %}` 标签中,使用 `{{ obj }}` 来输出这个变量的值。这样就可以自动填写 `{{ obj }}` 为 `res_id` 了。
相关问题
{% for obj in form %} {% if obj.name == "员工" %} {% with obj = res_id %} {{ obj }} {% endwith %} {% else %} <div class="form-group"> <lable>{{ obj.label }}</lable> {{ obj }} <span style="color: red">{{ obj.errors.0 }}</span> </div> {% endif %} {% endfor %}有什么问题,哪里写错了
这段代码是 Django 模板中的代码,其中 {% with %} 标签用于创建一个临时的变量,供模板中的其他部分使用。但是,在代码中, {% with %} 标签中的 obj 变量已经在 for 循环中定义了,因此在 {% with %} 标签中再次定义会导致冲突。正确的写法应该是:
```
{% for obj in form %}
{% if obj.name == "员工" %}
{% with res_id as obj %}
{{ obj }}
{% endwith %}
{% else %}
<div class="form-group">
<label>{{ obj.label }}</label>
{{ obj }}
<span style="color: red">{{ obj.errors.0 }}</span>
</div>
{% endif %}
{% endfor %}
```
这里使用了 as 关键字将 res_id 赋值给 obj,而不是重新定义 obj 变量。
阅读全文