如何将 JavaScript 变量传递给 Django 变量

时间:2021-05-31 19:22:46

标签: javascript django templates variables

在我的 Django 应用程序中,我希望允许管理员编辑所有用户(更改组等),并且我正在将包含所选用户用户名和 JavaScript 的表单数据传递到另一个模板。我想使用这个用户名来查询用户,以找到更改用户对象所需的正确信息。

如何将模板中的 JavaScript 变量传递给 Django 变量?

在第一个模板 users.html 中:

<form action="{% url 'app:edituser' %}" method="get" name="form">
    <p>
        <b>Username: </b>{{ i.username }}
        <a class="btn btn-primary btn-sm btn-danger" style="float:right" href="{% url 'app:all_users' %}" onClick="deleteUser()">Delete</a>
        <input type="hidden" id="value" name="username" value="{{ i.username }}" />
        <button class="btn btn-primary btn-sm btn-info" style="float:right" type="submit">Edit</button>
    </p>
</form>

在第二个模板 edituser.html 中:

<h1>Edit user</h1>

<p><b>Username: </b><span id="data"></span></p>
<p><b>Groups: </b><span id="data1"></span></p>

<a class="btn btn-primary btn-sm btn-danger" href="{% url 'authenticator_app:all_users' %}">Cancel</a>

<script>
    // Get the wanted parameters from the previous page's form.
    function getParameterByName(name, url) {
        if (!url) url = window.location.href;
        name = name.replace(/[\[\]]/g, '\\$&');
        var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
            results = regex.exec(url);
        if (!results) return null;
        if (!results[2]) return '';
        return decodeURIComponent(results[2].replace(/\+/g, ' '));
    }

    // Parameters
    var name = getParameterByName('username');
    var group = getParameterByName('groups');

    // Add the data to elements in html
    document.getElementById("data").innerHTML = name;
    document.getElementById("data1").innerHTML = group;
</script>

我是 Django 的新手,非常感谢您提供详细的答案!

0 个答案:

没有答案