用ajax渲染django字典

如何使用发送到django的ajax请求填充select tagul 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 – 因为你需要的只是车名。