Python 如何在django中动态获取dropdownlist中的数据?

Python 如何在django中动态获取dropdownlist中的数据?,python,ajax,django,Python,Ajax,Django,我有两个下拉列表城市下拉列表和地区下拉列表 这个项目正在python+Django框架工作 在django中使用以下概念时,它不起作用,并在警报窗口中给出错误 所以我的问题是,当我从第一个dropdownlist中选择任何城市时,第二个dropdownlist数据将使用ajax从数据库中更新。也许这里Ajax不起作用。我不擅长ajax,所以请阅读下面的代码并解决我的问题 多谢各位 在index.html中 <div class="input-field col l2 s12 m12">

我有两个下拉列表城市下拉列表和地区下拉列表

这个项目正在python+Django框架工作

在django中使用以下概念时,它不起作用,并在警报窗口中给出错误

所以我的问题是,当我从第一个dropdownlist中选择任何城市时,第二个dropdownlist数据将使用ajax从数据库中更新。也许这里Ajax不起作用。我不擅长ajax,所以请阅读下面的代码并解决我的问题

多谢各位

在index.html中

<div class="input-field col l2 s12 m12">
    <select id="ddlcity" name="ddlcity">
        <option value="None" selected disabled>Choose City</option>
        {% for i in allcities %}
        <option value="{{ i.id }}">{{ i.city_name }}</option>
        {% endfor %}
    </select>
    <label>Select City</label>
</div>
<div class="input-field col l3 s12 m6">
    <select id="ddlarea" name="ddlarea">
        <option value="" disabled selected>Choose your area</option>
    </select>
    <label>Your Selected Area</label>
</div>
$(document).ready(function () {
    $('#ddlcity').change(function () {
        var data_ = $('#ddlcity').val();
        $.ajax({
            type: "get",
            url: '/get/areadata/' + data_ + '/',
            data: data_,
            success: function (data) {
                $('#ddlarea').empty();

                $.each(data.d, function (key, value) {
                    $('#ddlarea').append($("<option></option>").val(value.AreaID).html(value.AreaName));
                });
            },
            failure: function (response) {
                alert(response.d);
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert(textStatus, errorThrown);
            }
        });
    });
});
In views.py

def getarea(request, cityID):
    id = Area.objects.filter(city_id=cityID)
    id = id.all().order_by('area_name')
    return render(
        request, 'files/index.html', 
        context_instance=RequestContext(request, { 'allarea': id }))

通过在浏览器的“网络”选项卡中跟踪请求,您可以显示您遇到了什么错误吗?当我选择任何城市,然后向流行音乐节目发出警报并给出“错误”文本时,您是否尝试手动点击REST URL以查看返回的内容,以及您的JS是否期望返回的内容?您应该为AJAX请求返回JSON/XML响应,看起来您正在渲染一个模板。也许这就是导致错误的原因。
def getarea(request, cityID):
    id = Area.objects.filter(city_id=cityID)
    id = id.all().order_by('area_name')
    return render(
        request, 'files/index.html', 
        context_instance=RequestContext(request, { 'allarea': id }))