Django-模板中的条件渲染

时间:2019-10-30 07:42:13

标签: python django templates

我需要一些帮助,有条件地在网站的模式弹出窗口中呈现数据。

我想做什么: 当用户单击“进行预订”按钮时,我想在模式窗口中显示

<h3 style="margin-top:20px;">Choose dates</h3>
                    <div style="margin-top:20px;" class="pick-dates-div">
                        <form method="GET" class="post-form">{% csrf_token %}
                            {{ form.as_p }}
                            <button type="submit" class="form-btn save btn btn-default">Make A Reservation</button>
                        </form>
                        <button style="margin-top: 25px;" class="btn-primary btn-block btn-lg" data-toggle="modal"
                            data-target="#inquiryModal">More
                            Questions ?</button>
                    </div>

然后用户可以从日期选择器中选择日期,然后按“进行预订”按钮(这是一个GET请求),页面将刷新,我只想在同一模式窗口中显示此内容:

<h1>Start Date: {{ date_start }}</h1>
    <h1>End Date: {{ date_end }}</h1>
    <h1>Price Per Day: ${{ price_per_day }}$</h1>
    <h1>Total: ${{ total_price }}$</h1>
    <form method="POST" class="post-form">{% csrf_token %}
        {{ form.as_p }}
       <a href=""> <button href="www.facebook.com" type="submit" class="form-btn save btn btn-default">Confirm Reservation</button></a>
    </form>

之后,用户提交了表单(POST请求),我想显示一个文本:

<h3> Thank you for your reservation </3>

实现此目标的理想方法是什么? 谢谢你叠

1 个答案:

答案 0 :(得分:1)

实现此目标的理想方法是使用JavaScript。

可以实现的许多方法之一是,将所有三个视图以模态形式呈现在单独的容器中,然后使用javascript隐藏下两个视图。

  

您可以使用 element.style.display ='none'隐藏和    element.style.display ='block'以显示元素容器中的内容。

用户单击“进行预订”按钮后,隐藏/显示所需的容器即可达到所需的结果。

请不要忘记在服务器端使用适当的验证来保护您的网站。希望有帮助!