我是vue的新手.js和django,在以下问题上需要一些帮助。我创建了一个 api,我在其中尝试从一个数据库表中获取数据并将其发送到 vue.js 页面进行检查。
我收到错误"{"详细信息":"方法\"GET\"不允许。
我以多种方式尝试了它,例如以 JSON 形式或数组发送数据,但仍然得到相同的 issuse
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})
abc.vue in vue.js 文件试图获得数据
fetchIssueDetails () {
$.get(`http://127.0.0.1:8000/api/chats/`, (data) => {
this.Issues = data.Issues
})
.fail((response) => {
alert(response.responseText)
})
}
我想在 for 循环中读取 vue.js 文件中的表数据
您在评论中提供给我的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()),
]
请注意 url /api/chats/
如何绑定到 views.ChatSessionView
,而不是 IssuesDetailsView
。然而,在您的 Javascript 中,您正在向 /api/chats/
发出请求。
因此,解决问题的一种方法是
path('chats/', views.IssuesDetailsView.as_view()),