Django-如何根据表单字段重新呈现页面以显示数据?

时间:2019-10-28 16:23:58

标签: python html django

我有一个表格,其中第一个字段是用户的ID号。我想要实现的是在他们输入数字的字段顶部显示名称,但是我不确定如何做到这一点。我正在考虑也许一旦用户在字段中单击/单击就刷新页面,但是我不知道是否存在一种更实时的实时渲染方式,以防用户在之前填写其他字段他们的ID#字段。

当前,我在视图中具有此名称,以便根据用户的#来获取用户的名称,但是我不确定如何在html部分中使用该名称,或者是否也需要修改其他内容

views.py

def get_e_name(request):
    e_number = request.POST.get('e_number')
    e = Saved.objects.get(a_number=e_number)
    e_name = e.saved_name
    return e_name

我想在表单中的第一个字段顶部显示get_e_name()返回的e_name

enter_leave_area.html

{% extends "operations/base.html" %}
{% block main %}
    <form id="warehouseForm" action="" method="POST" data-stations-url="{% url 'operations:ajax_load_stations' %}" novalidate >
        {% csrf_token %}

        <div>
            <div>
                {{ form.e_number.help_text }}
                {{ form.e_number }}
            </div>
            <div>
                {{ form.w_area.help_text }}
                {{ form.w_area }}
            </div>
            <div>
                {{ form.s_number.help_text }}
                {{ form.s_number }}
            </div>
        </div>

        <div>
            <div>
                <button type="submit" name="enter_area" value="Enter">Enter Area</button>
                <button type="submit" name="leave_area" value="Leave">Leave Area</button>
                <div></div>
            </div>
        </div>
    </form>

    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script>
        $("#id_w_area").change(function () {
            var url = $("#warehouseForm").attr("data-stations-url");
            var wAreaId = $(this).val();

            $.ajax({
                url: url,
                data: {
                    'w_area': wAreaId
                },
                success: function (data) {
                    $("#id_s_number").html(data);
                }
            });
        });
     </script>
{% endblock main %}

0 个答案:

没有答案