我在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)
我该如何解决错误
您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] 删除。
我来说两句