Open utterances-bot opened 3 years ago
你好,列表接口按照详情接口的做法去配置的,但是在 url 中却显示列表接口类没有 as_view 方法,是为何呢?
你在把ArticleList视图改成类视图的时候。 url 部分应该改成 path('', views.ArticleList.as_view(), name='list') 这里你没有写出来,如果是初学者的话,很可能会卡在这部分
你好,ArticleList视同修改了,url也改了,但是http获取的时候返回的不再是json,后台报错'ArticleList' object has no attribute 'retrieve',是什么原因。求助
自己已解决。😂
Postman 更新改版后不太容易用。发一点不知道以后还有没有用的小教程:
workplace
,点击request
旁边的加号新建一个request
。http://127.0.0.1:8000/api/article/1/
get
改成put
。body
,再点击raw
,再点击旁边的text
改成json
,然后输入json
:
{
"title":"Send from Postman",
"body":"Is this ok?"
}
大概是这样,老实说有点麻烦。但是我也没有试试httpie
,说不定现在的更好用了呢。
按照最后极简类写的接口 post带有body字段后 结果数据中body为空了
仿佛进入了现代化!
按照最后极简类写的接口 post带有body字段后 结果数据中body为空了
按照极简类写的话,需要将ArticleListSerializer中的fields加上‘body'字段,否则你会发现,在用命令行输入例如http -a root:root POST http://127.0.0.1:80 00/api/article/ title='22g' body='new 2test1' 这样的语句来新增一个文章时,POST不会接收body参数。你也可以在页面中看到,fields没有加body的话,表单中只有title和created字段
我想问,在debug模式下,在ArticleDetail和ArticleList处都设置了断点,在为什么用pycharm中的terminal书写http -a root:root POST http://127.0.0.1:80 00/api/article/ title='22g' body='new 2test1' 这样的命令时,没有进入断点,语句可以直接跟数据库进行操作。我所想要的是看一下ArticleList它是否获取了post所有的参数
@late-nightpoet pycharm 直接下断点就行
article list 如果使用这个view:
class ArticleList(generics.ListCreateAPIView):
queryset = Article.objects.all()
serializer_class = ArticleListSerializer
是没有办法创建article的,POST会出错。
需要创建Artilce可以加入
class ArticleList(generics.ListCreateAPIView, mixins.CreateModelMixin):
queryset = Article.objects.all()
serializer_class = ArticleListSerializer
permission_classes = [IsAdminUserOrReadOnly]
同时修改
class ArticleListSerializer(serializers.ModelSerializer):
class Meta:
model = Article
fields = [
'id',
'title',
'body',
]
回复 Herbert-CN commented on 2022年11月3日 article list 如果使用这个view:
我的可以,django V3.2
你的是不是在 settings.py
文件中,添加了DRF的全局配置?
Django-Vue搭建个人博客:基于类的视图 - 杜赛的博客
https://www.dusaiphoto.com/article/107/