在 Django 中实现的重用模式

问题描述 投票:0回答:1

我知道这个问题很常见,但我搜索了不同的解决方案,但还没有找到,有没有办法重用模态?与其在每个函数中制作不同的模态,为什么不将其重用为一个模态,有没有什么方法可以实现它,尤其是在 Django 中? 我应该将它传输到 javascript 文件中吗?

我试过的是将 HTML 扩展到主文件,但它不起作用

modal.html 模板/modal.html

{% block modal_scripts %}
<div class="modal-onboarding modal fade animate__animated" id="onboardImageModal" tabindex="-1" aria-hidden="true" >
    <div class="modal-dialog" role="document">
    <div class="modal-content text-center">
        <div class="modal-header border-0">
        <a class="text-muted close-label" href="javascript:void(0);" data-bs-dismiss="modal"
            >Skip Intro</a
        >
        <button
            type="button"
            class="btn-close"
            data-bs-dismiss="modal"
            aria-label="Close"
        ></button>
        </div>
        <div class="modal-body p-0">
        <div class="onboarding-media">
            <div class="mx-2">
            <img
                src="../../assets/img/illustrations/girl-unlock-password-light.png"
                alt="girl-unlock-password-light"
                width="335"
                class="img-fluid"
                data-app-light-img="illustrations/girl-unlock-password-light.png"
                data-app-dark-img="illustrations/girl-unlock-password-dark.png"
            />
            </div>
        </div>
        <div class="onboarding-content mb-0">
            <h4 class="onboarding-title text-body">Test</h4>
            <div class="onboarding-info">
            In this example you can see a form where you can request some additional information
            from the customer when they land on the app page.
            </div>
            <form>
            <div class="row">
                <div class="col-sm-12">
                <div class="mb-3">
                    <label for="roleEx3" class="form-label">Discount</label>
                    <select class="form-select" tabindex="0" id="roleEx3">
                    <option>Senior Citizen - 20%</option>
                    <option>Business Owner</option>
                    <option>Other</option>
                    </select>
                </div>
                </div>
            </div>
            </form>
        </div>
        </div>
        <div class="modal-footer border-0">
        <button type="button" class="btn btn-label-secondary" data-bs-dismiss="modal">
            Close
        </button>
        <button type="button" class="btn btn-primary">Submit</button>
        </div>
    </div>
    </div>
</div>
{% endblock modal_scripts %} 

mymainfile.html 管理员/mymainfile.html

{% extends 'index.html' %} {% block content %} {% load staticfiles %}

 <html> ...some code of html here..... </html>


{% block modal_scripts %} {% csrf_token %} {% endblock modal_scripts %}


{% endblock %} 
javascript django modal-dialog
1个回答
0
投票

另一个选择是 include 某些 html 片段。

模板/modal.html:

<div class="modal-onboarding modal fade animate__animated" id="onboardImageModal" tabindex="-1" aria-hidden="true" >
    <div class="modal-dialog" role="document">
    <div class="modal-content text-center">

[...]

        <button type="button" class="btn btn-primary">Submit</button>
        </div>
    </div>
    </div>
</div>

模板/example1.html

<h1>Hello world</h1>
{% include "modal.html" %}

模板/example2.html

<h1>Goodbye World</h1>
{% include "modal.html" %}
© www.soinside.com 2019 - 2024. All rights reserved.