Reactjs 从django API获取react中的用户数据?

Reactjs 从django API获取react中的用户数据?,reactjs,django,Reactjs,Django,我正在创建一个简单的博客前端来使用django后端api。它的设置方式使我可以访问每篇文章的用户数据,如下所示: 后序列化程序: class PostSerializer(serializers.ModelSerializer): class Meta: model = Post fields = ['id', 'title', 'body', 'user'] depth = 1 react,我在其中显示数据 <Container

我正在创建一个简单的博客前端来使用django后端api。它的设置方式使我可以访问每篇文章的用户数据,如下所示:

后序列化程序:

class PostSerializer(serializers.ModelSerializer):
    class Meta:
        model = Post
        fields = ['id', 'title', 'body', 'user']
        depth = 1
react,我在其中显示数据

<Container variant='lg' maxWidth='lg'>
              <div className='posts'>
                <Typography key={post.id} variant='h3'>
                  {post.title}
                </Typography>
                <Typography paragraph>
                  {post.body}
                </Typography>
                <Typography paragraph>
                  {post.user.user_name}
                </Typography>
              </div>
</Container>

{post.title}
{post.body}
{post.user.user_name}
现在,这确实适合作为我问题的解决方案,以便在post中显示用户用户名,但它会公开所有用户数据,包括电子邮件、密码哈希、上次登录等


使用react时,获取用户相关数据的更好方法是什么?

如下修改序列化程序。不使用深度,而是按如下方式获取用户名

class PostSerializer(serializers.ModelSerializer):
    #use Serializer method fields
    user_name = serializers.SerializerMethodField()

    class Meta:
        model = Post
        fields = ['id', 'title', 'body', 'user_name']

    def get_user_name(self, obj):
        try:
            return obj.user.user_name
        except:
            pass


嗨,斯蒂尼。这一决定不应在前端作出。我认为应该在后端用django序列化用户数据(我没有使用django)。这就是我对rails所做的。您只需序列化用户数据,这样就可以避免前面用户的敏感数据-end@JulioLopez啊,这更有道理。我要试试看!