Django模板变量能否在Jquery/Bootstrap中使用以控制折叠插件?

2024-06-16 14:51:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Django CB Views,我的模板当前有一个UpdateView的表单字段。我已经拆分了表单,并将字段呈现为单个元素。表单有4个字段,其中2个当前在引导折叠插件下。此插件默认设置为隐藏。你知道吗

<div id="advanced_panel" class="panel-collapse collapse">

但是,如果填充了这两个字段,我想将其设置为:

<div id="advanced_panel" class="panel-collapse collapse in">

这就是我目前所拥有的。我的模板:

{% block content %}
<form action="" method="post">{% csrf_token %}
 {% include 'partials/form_field.html' with field=form.title %}
 {% include 'partials/form_field.html' with field=form.body %}

 <a class="btn btn-default" data-toggle="collapse" href="#advanced_panel" aria-expanded="true" aria-controls="advanced_panel">Advanced</a>
 <div class="panel-collapse collapse" id="advanced_panel">
     <div class="card card-block">
         {% include 'partials/form_field.html' with field=form.responder_name %}
         {% include 'partials/form_field.html' with field=form.response %}  #Only show if these two fields exist. 
     </div>
 </div>

 <a href="{% url 'backend_reviews' %}" class="btn btn-default">Cancel</a>
 <input type="submit" class="btn btn-primary" value="Update Review" />
 <a href="{% url 'backend_reviews_delete' review.pk %}" class="btn btn-warning pull-right">Delete Review</a>

{% endblock %}

我如何做到这一点,可能使用{%if%}和Jquery some How?你知道吗


Tags: divform模板idfieldincludehtmlwith
2条回答
{% if form.response and form.responder_name %}
<div id="advanced_panel" class="panel-collapse collapse in">
{% else %}
<div id="advanced_panel" class="panel-collapse collapse">
{% endif %}

或者

<div id="advanced_panel" class="panel-collapse collapse
{% if form.response and form.responder_name %} in{% endif %}">

另一种方法是向模板传递一个额外的布尔值(例如collapse_me),然后使用它来代替form.*,如下所示:

<div id="advanced_panel" class="panel-collapse collapse{% if collapse_me %} in{% endif %}">

(当然,您需要在视图中创建额外的逻辑来设置collapse_me=True/collapse_me=False

这就是我在课堂上要补充的内容。它起作用了。你知道吗

class="panel-collapse collapse {% if review.responder_name and review.response %}in{%endif %}"

相关问题 更多 >