用ajax渲染django字典
如何使用发送到django的ajax请求填充select tag
或ul and li tag
,它返回json(也可能来自模型)。 我不想使用另一个模板来填充这些。
例子:
如果返回是来自ajax请求的data
我怎样才能做到这一点 :
{% for car in cars %} {{ car.name }} {% endfor %}
但我不想从django返回html或仅为此标记加载另一个html。
这是我的Response方法
def car_view(request) car_obj = cars.objects.get(name = car) allmodels = CarModel.objects.filter(car = car_obj) data = serializers.serialize("json", allmodels) return HttpResponse(data)
这就是data
样子
[{"pk": 3, "model": "alongjs.carmodel", "fields": {"car": 2, "name": "city-unlimited"}}, {"pk": 4, "model": "alongjs.carmodel", "fields": {"car": 2, "name": "hill-to-city"}}]`
如果您使用jQuery.ajax()
发送ajax
请求(看起来您正在判断以前的问题) – 您可以在成功回调函数中添加一些JavaScript来迭代JSON
响应并填充您的select
选项。
$.ajax({ type: 'GET', url: ..., data: {}, success: function(data) { $.each(data, function() { $('#carid') .append($("") .attr('value', this['fields']['name']) .text(this['fields']['name'])); }); } });
你可以在这里看到一个人为的小提琴例子。
你可以改进你的JSON – 因为你需要的只是车名。