在Django中自动完成

AshMGM

我在Django中的自动完成功能遇到问题,Django可以识别自动完成功能,但尝试时会出现404错误

这是我正在使用自动完成功能的模板的一部分

<table>
       <td class="input-group mb-3"><label for=" 
           {{TeacherForm.teacher.id_for_label}}"> Teacher(es):
            <td> <div class="ui-widget">
                {{TeacherForm.asesores}}</td>
             </div>
 </table>

这是我的模型:

class Teacher(models.Model):
    firstname=models.CharField(max_length=50)
    middlename=models.CharField(max_length=30)
    lastaname=models.CharField(max_length=30)

这是我的表格:

 class TeacherForm(forms.Form):
          teacher=forms.CharField(widget=forms.Textarea)

这是我正在使用的脚本:

 <script>
  $(function() {
      $("#id_teacher").autocomplete({
         source: "/api/get_teacher/",
         select: function (event, ui) { //item selected
         AutoCompleteSelectHandler(event, ui)
    },
      minLength: 2,
    });
  });

  function AutoCompleteSelectHandler(event, ui)
  {
    var selectedObj = ui.item;
   }

 </script>

这是我的url.py:

urlpatterns = [
    url(r'^api/get_teacher/', views.get_teacher, name='get_teacher'),

]

在我的view.py中,我有:

def get_teacher(request):
    if request.is_ajax():
       q = request.GET.get('term', '')    
       asesor = Asesor.objects.filter(lastname=q)     
       results = []
       for professor in teacher:
          teacher_json = {}
          teacher_json = professor.lastname+ " "+professor.firstname+" 
          "+professor.middlename
          results.append(teacher_json)
          data = json.dumps(results)
    else:
       data = 'fail'
    mimetype = 'application/json'
    return HttpResponse(data, mimetype)

在我的base_layout中,我打电话给:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"> </script>
<!-- jQuery UI !-->
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>

当我尝试时,出现此错误

GET http://localhost:8000/api/get_teacher/?term=Guerrer 404 (Not Found)

我该如何解决错误

Lemayzeur

Search.urls拨打root urls了以下电话

url(r'^inicio/',include('Search.urls')),

在这种情况下,您的url不是/api/get_teacher/,而是root inicio/+的串联api/get_teacher/正确的网址是:

/inicio/api/get_teacher/

`

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章