【发布时间】:2017-10-07 12:38:47
【问题描述】:
我正在尝试基于 rest 框架 API JSON 文件创建一个简单的 HTML 搜索输入。到目前为止,我设法从 JSON 文件中获取数据。在控制台日志中,我想要的数据在那里,但是当我在搜索字段中搜索它时,它给了我这个错误:
GET http://127.0.0.1:8000/nameList?term=a 404 (Not Found)
我尝试将其转换为字符串,但仍然没有什么不同。
这是我的代码: HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
</head>
<body>
<br>
<input id="name_search_tags" type="text" placeholder="Search...">
</body>
<script>
$.getJSON("list/?format=json", function (json) {
console.log(json);
$.each(json, function(key, val) {
var nameList = [];
var employee_name = val.employee_name;
nameList.push(employee_name.toUpperCase());
var string = nameList.toString();
console.log(employee_name);
console.log(nameList);
});
$("#name_search_tags").autocomplete({source: 'nameList'});
});
</script>
</html>
模型.py
from django.db import models
# Create your models here.
class MyModel(models.Model):
employee_name = models.CharField(max_length=100)
def __str__(self):
return self.employee_name
serializer.py
from rest_framework import serializers
from .models import *
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
#fields = ('field 1','field 2')
fields = '__all__'
view.py
from django.shortcuts import render
from .models import *
from .forms import *
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from .serializers import *
class MyModelList(APIView):
def get(self, request):
#get all objects in model
modelList = MyModel.objects.all()
#convert to JSON #multiple objects in model
serializers = MyModelSerializer(modelList, many=True)
#return the serialize JSON data
return Response(serializers.data)
url.py
from django.conf.urls import url
from django.contrib import admin
from search.views import *
from rest_framework.urlpatterns import format_suffix_patterns
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', search, name='search'),
url(r'^list/', MyModelList.as_view(), name='list_view'),
]
urlpatterns = format_suffix_patterns(urlpatterns)
JSON
[
{
"id": 1,
"employee_name": "Rajiv"
},
{
"id": 2,
"employee_name": "Izzat"
},
{
"id": 3,
"employee_name": "Nagendra"
},
{
"id": 4,
"employee_name": "Shawn"
},
{
"id": 5,
"employee_name": "Jason"
}
]
感谢大家的帮助。谢谢
【问题讨论】:
-
你的后端代码在哪里?
-
抱歉,我马上补充
-
@M.Izzat 对不起,我真的无法在后端看到它的自动完成部分。这意味着有过滤和分页的代码。否则至少更改标题以反映更多关于 jquery-ui 自动完成的问题