Мне нужно загрузить данные из REST API на front-end, используя фреймворк vue.js, но не используя vue.js cli.
Я пытаюсь получить данные из rest api с помощью vue.js. Но это не работает, я начал изучать vue.js только сейчас, я пытался реализовать много логики, но все равно это не дает соответствующего вывода.
Вот мой views.py file
# Create your views here.
class TaskViewSet(ModelViewSet):
renderer_classes = [TemplateHTMLRenderer]
template_name = 'templates/list.html'
def list(self,request):
queryset = Task.objects.all()
serializer = TaskSerializer(queryset,many=True)
context = {
'serializer' : serializer.data
}
return Response(context)
Вот мой list.html
файл
<!DOCTYPE html>
<html lang="en">
{%load static%}
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"
integrity="sha256-Gs0UYwrz/B58FsQggzU+vvCSyG/pewemP4Lssjzv8Ho="
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/1.3.4/vue-
resource.min.js" integrity="sha256-OZ+Xidb5+lV/saUzcfonHJQ3koQncPy0hLjT8dROdOU="
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/1.3.4/vue-
resource.min.js" integrity="sha256-OZ+Xidb5+lV/saUzcfonHJQ3koQncPy0hLjT8dROdOU="
crossorigin="anonymous"></script>
<title>Document</title>
</head>
<body>
<h3>Tasks Display Here</h3>
<div id="app" v-for="task in tasks">
{{task.data}}
</div>
<script>
var app = new Vue({
el : '#app',
data:{
tasks : []
}
},
methods : {
async getData(){
try {
// fetch tasks
const response = await
this.$http.get('http://localhost:8000/api/tasks/');
// set the data returned as tasks
this.tasks = response.data;
} catch (error) {
// log the error
console.log(error);
}
},
},
created(){
this.getData();
}
}
</script>
</body>
</html>
Я указал url своего API, откуда извлекаются данные, но все равно скрипт vue.js не может собрать данные из api. Я действительно запутался, что на самом деле происходит в моем коде. Если я пытаюсь вывести данные в консоль с помощью console.log(), то все равно возвращается обычная консоль.