Автозаполнение в Джанго - PullRequest
0 голосов
/ 11 мая 2018

У меня проблемы с автозаполнением в 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)

Как я могу решить эту ошибку

1 Ответ

0 голосов
/ 11 мая 2018

Вы звоните Search.urls с номера root urls, со следующим

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

В этом случае ваш URL не /api/get_teacher/, а вместо этого конкатенация корня inicio/ + api/get_teacher/. Правильный адрес:

/inicio/api/get_teacher/

`

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...