【发布时间】:2022-10-06 22:21:34
【问题描述】:
我正在Django 和React 中构建一个博客应用程序,并且我试图仅获取request.user 的帖子,而在Django Rest Framework 仪表板(api as json)中的帖子完美地显示了 request.user 但是当我尝试在React Frontend 中使用axios.get() 然后它什么也没有显示。
视图.py
class BlogView(viewsets.ModelViewSet):
serializer_class = BlogSerializer
def get_queryset(self):
queryset = Blog.objects.filter(user_id=self.request.user.id)
return queryset
序列化程序.py
class BlogSerializer(serializers.ModelSerializer):
class Meta:
model = Blog
fields = (\'id\',\'user\'\',\'title\', \'description\')
反应 - App.js
componentDidMount() {
let data;
axios.get(\'http://127.0.0.1:8000/api/blogs/`).then((res) => {
data = res.data;
this.setState({
blogs : data.map((blog) => {
return Object.assign({}, blog, {
title : blog.title,
description : blog.description,
});
}),
});
})
.catch(err => {console.log(err)});
};
用户.py
router = routers.DefaultRouter()
router.register(r\'blogs\', views.BlogView, \'blog\')
urlpatterns = [
path(\'admin/\', admin.site.urls),
path(\'\', include(\'app.urls\')),
path(\'api/\', include(router.urls)),
path(\'api-auth/\', include(\'rest_framework.urls\')),
path(\'api/rest-auth/\', include(\'rest_auth.urls\')),
path(\'accounts/\', include(\'accounts.urls\')),
]
我尝试了很多次,但使用filter(user=self.request.user) 访问它,但它对我不起作用。
当我刷新 React Page 然后它显示
[2022 年 2 月 16 日 14:05:21] \"GET /api/blogs/HTTP/1.1\" 200 2
在 Django 服务器中。
任何帮助将非常感激。先感谢您。
-
我们可以查看您在 API 周围的 URL
-
@FaisalNazik,我已经上传了
urls.py -
如果后端
url中没有ID,我该如何传递?
标签: reactjs django serialization django-rest-framework axios