我也是vue.js和django的新手, 在以下问题上需要一些帮助。 我创建了一个api,试图在其中从一个数据库表中获取数据,并将其发送到vue.js页面进行检查。
我收到错误“ {” detail“:”不允许使用方法\“ GET \”。“}”
我以多种方式尝试过,例如以JSON形式或以数组形式发送数据,但仍然遇到相同的问题
下面的Model.py是用于反序列化的模型以及我用来获取数据的表的模型
def deserialize_Issue(issue):
"""Deserialize user instance to JSON."""
return {id': issue.id, 'IName': issue.IName, 'IDesc': issue.IDesc, 'ITeam': issue.ITeam,'IStat': issue.IStat, 'IChat': issue.IChat, 'Iuri': issue.Iuri, 'Ibridge': issue.Ibridge, 'Ibridgedetails': issue.Ibridgedetails }
class Issue(TrackableDateModel):
IName=models.CharField(max_length=500)
IDesc=models.CharField(max_length=1000)
ITeam =models.CharField(max_length=500)
IStat=models.CharField(max_length=250)
IChat=models.CharField(max_length=2,default='NA')
Iuri=models.URLField(default='NA')
Ibridge=models.CharField(max_length=2,default='NA')
Ibridgedetails=models.CharField(max_length=20,default='NA')
def __str__(self):
return self.IName, self.IStat
在view.py文件中,我创建了调用和get方法以从表中获取数据。
class IssuesDetailsView(APIView):
def get(self, request, *args, **kwargs):
DETAILS='Issue.objects.all()'
serializer=deserialize_Issue(DETAILS,many=True)
return Response ({'Issues': serializer.data})
vue.js文件中的abc.vue试图加速获取数据
fetchIssueDetails () {
$.get(`http://127.0.0.1:8000/api/chats/`, (data) => {
this.Issues = data.Issues
})
.fail((response) => {
alert(response.responseText)
})
}
我想在for循环中读取vue.js文件中的表数据
答案 0 :(得分:0)
这是您在评论中提供给我的urls.py
:
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path('chats/', views.ChatSessionView.as_view()),
path('chats/<uri>/', views.ChatSessionView.as_view()),
path('chats/<uri>/messages/', views.ChatSessionMessageView.as_view()),
]
请注意如何将网址/api/chats/
绑定到views.ChatSessionView
,而不是IssuesDetailsView
。然而,您正在使用Javascript向/api/chats/
发送请求。
解决问题的一种方法是
path('chats/', views.IssuesDetailsView.as_view()),