我得到这个错误,当我试图通过蛞蝓在网址可以任何人请协助或如果有任何其他方式来实现这一点。
以下是www.example.com的屏幕截图urls.py|views.py|和models.py
使用Django Rest Framework
Urs.py Screenshot
Views.py Screenshot
Models.py Screenshot
Error Which I am Getting!!
救命啊!
先谢了。
如果屏幕截图不起作用,下面是视图代码
def blog(request):
blog = Blog.objects.all()
serializer = BlogSerializer(blog, many=True )
return Response(serializer.data)
@api_view('GET')
def blogPost(request, slug):
blogpost = Blog.objects.get(slug=slug)
serializer = BlogSerializer(blogpost, many=False)
return Response(serializer.data)
下面是www.example.com的代码urls.py
from django.urls import path
from . import views
urlpatterns = [
path('blog', views.blog, name='blog'),
path('blog/<str:slug>/', views.blogPost, name='blogpost')
]
下面是www.example.com的代码models.py
class Blog(models.Model):
sno = models.AutoField(primary_key=True)
title = models.CharField(max_length=255)
slug = models.SlugField(unique=True, allow_unicode=True, blank=True)
author = models.CharField(max_length=255)
read_time = models.IntegerField()
publish_time = models.DateTimeField(default=timezone.now)
hero_image = models.ImageField(blank=True,)
content = models.TextField()
tags = models.CharField(max_length=100)
status = models.BooleanField(default=True)
category = models.CharField(max_length=100)
def save(self,*args,**kwargs):
self.slug=slugify(self.title)
super(Blog,self).save(*args,**kwargs)
def __str__(self):
return self.title
2条答案
按热度按时间dluptydi1#
您的错误指出@API_view需要一个可能的方法列表,而不是一个字符串。
将其更改为:
qjp7pelc2#
问题是@API_view装饰器需要一个表示允许的HTTP方法的字符串列表,但它接收的是一个字符串。
要解决这个问题,你应该修改你的blogPost函数,将一个包含'GET'字符串的列表传递给@API_view装饰器。下面是正确的代码: