获取错误 { "detail" : "Method " GET\ " not allowed." }



我是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()),

最新更新