Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
还有一个Django和jQuery自动完成的新手_Django_Jquery Ui_Jquery Ui Autocomplete - Fatal编程技术网

还有一个Django和jQuery自动完成的新手

还有一个Django和jQuery自动完成的新手,django,jquery-ui,jquery-ui-autocomplete,Django,Jquery Ui,Jquery Ui Autocomplete,在stackoverflow中搜索了一段时间类似的问题,并尝试了不同的“修复”之后,我必须说我在这里被绊住了。我只是尝试使用jQueryUI实现一个简单的自动完成功能,但不知何故,它没有显示任何自动完成的名称,尽管数据库中加载了一些名称。我向您展示我的逻辑和模板 型号.py class Usuario(models.Model): nombre = models.CharField(max_length=128) facultad = models.ForeignKey(Facultad

在stackoverflow中搜索了一段时间类似的问题,并尝试了不同的“修复”之后,我必须说我在这里被绊住了。我只是尝试使用jQueryUI实现一个简单的自动完成功能,但不知何故,它没有显示任何自动完成的名称,尽管数据库中加载了一些名称。我向您展示我的逻辑和模板

型号.py

class Usuario(models.Model):
  nombre = models.CharField(max_length=128)
  facultad = models.ForeignKey(Facultad, null=False, blank=False)
  carrera = models.ForeignKey(Carrera, null=False, blank=False)
  dni = models.PositiveIntegerField(unique=True)
  direccion = models.CharField(max_length=128)
  telefono = models.CharField(max_length=64)
  email = models.EmailField(max_length=254)
  fechaingreso = models.DateTimeField(null=False, blank=False)
  creadopor = models.ForeignKey(User, default=0)

  def __unicode__(self):
      return self.nombre
url(r'^get_usuarios/', 'get_usuarios', name='get_usuarios'),
def get_usuarios(request):
  if request.is_ajax():
      q = request.GET.get('term', '')
      usuarios = Usuario.objects.filter(nombre__icontains=q)[:20]
      results = []
      for usuario in usuarios:
          usuario_json = {}
          usuario_json['id'] = usuario.id
          usuario_json['label'] = usuario.nombre
          usuario_json['value'] = usuario.nombre
          results.append(usuario_json)
      data = simplejson.dumps(results)
  else:
      data = 'fail'
  mimetype = 'application/json'
  return HttpResponse(data, mimetype)
url.py

class Usuario(models.Model):
  nombre = models.CharField(max_length=128)
  facultad = models.ForeignKey(Facultad, null=False, blank=False)
  carrera = models.ForeignKey(Carrera, null=False, blank=False)
  dni = models.PositiveIntegerField(unique=True)
  direccion = models.CharField(max_length=128)
  telefono = models.CharField(max_length=64)
  email = models.EmailField(max_length=254)
  fechaingreso = models.DateTimeField(null=False, blank=False)
  creadopor = models.ForeignKey(User, default=0)

  def __unicode__(self):
      return self.nombre
url(r'^get_usuarios/', 'get_usuarios', name='get_usuarios'),
def get_usuarios(request):
  if request.is_ajax():
      q = request.GET.get('term', '')
      usuarios = Usuario.objects.filter(nombre__icontains=q)[:20]
      results = []
      for usuario in usuarios:
          usuario_json = {}
          usuario_json['id'] = usuario.id
          usuario_json['label'] = usuario.nombre
          usuario_json['value'] = usuario.nombre
          results.append(usuario_json)
      data = simplejson.dumps(results)
  else:
      data = 'fail'
  mimetype = 'application/json'
  return HttpResponse(data, mimetype)
prestar.html

<script type="text/javascript">
$(function() {
  $("#usuarios").autocomplete({
    source: "{% url get_usuarios %}",
    minLength: 2,
  });
});
我尤其怀疑这一点

usuario_json['id'] = usuario.id
usuario_json['label'] = usuario.nombre
usuario_json['value'] = usuario.nombre
是正确的,因为我不知道它们到底是什么意思


感谢所有希望照亮我的人

像往常一样,自动解决了一个愚蠢的错误。在使用jQueryUI之前,应该导入它。

我刚刚解决的一个问题是,在这一行:我错过了文件末尾的.js。当然,我纠正了这一点,但仍然没有得到功能。