首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何自定义rest-auth/user返回的JSON数据

如何自定义rest-auth/user返回的JSON数据
EN

Stack Overflow用户
提问于 2015-02-10 20:58:02
回答 2查看 439关注 0票数 2

我正在使用rest_auth和rest_framework。

当我访问URL时,我得到以下http://localhost:8080/rest-auth/user/ GET数据

代码语言:javascript
运行
复制
{
    "username": "latest",
    "email": "latest@gmail.com",
    "first_name": "some first name",
    "last_name": "some last name"
}

问题

为了自定义返回的JSON数据,我需要做什么?我不希望它返回first_namelast_name

尝试过

我尝试创建名为serializers.py的文件,并在其中添加了以下内容,但没有产生任何效果。

代码语言:javascript
运行
复制
from rest_framework import serializers
from .models import *
import re

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('username', 'email')

我的urls.py包含以下内容

代码语言:javascript
运行
复制
url(r'^$', TemplateView.as_view(template_name="home.html"), name='home'),
url(r'^signup/$', TemplateView.as_view(template_name="signup.html"),
    name='signup'),
url(r'^email-verification/$',
    TemplateView.as_view(template_name="email_verification.html"),
    name='email-verification'),
url(r'^login/$', TemplateView.as_view(template_name="login.html"),
    name='login'),
url(r'^password-reset/$',
    TemplateView.as_view(template_name="password_reset.html"),
    name='password-reset'),
url(r'^password-reset/confirm/$',
    TemplateView.as_view(template_name="password_reset_confirm.html"),
    name='password-reset-confirm'),
#
url(r'^user-details/$',
    TemplateView.as_view(template_name="user_details.html"),
    name='user-details'),
url(r'^password-change/$',
    TemplateView.as_view(template_name="password_change.html"),
    name='password-change'),


# this url is used to generate email content
url(r'^password-reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
    TemplateView.as_view(template_name="password_reset_confirm.html"),
    name='password_reset_confirm'),

url(r'^rest-auth/', include('rest_auth.urls')),
url(r'^rest-auth/registration/', include('rest_auth.registration.urls')),
url(r'^account/', include('allauth.urls')),
url(r'^admin/', include(admin.site.urls)),
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-10 22:53:45

您可以在序列化程序中使用exclude

代码语言:javascript
运行
复制
class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        exclude = ('first_name', 'last_name')
票数 0
EN

Stack Overflow用户

发布于 2019-10-30 07:08:08

文件路径

Lib/site-packages/rest_auth/serializers.py

代码语言:javascript
运行
复制
class UserDetailsSerializer(serializers.ModelSerializer):
"""
User model w/o password
"""
class Meta:
    model = UserModel
    fields = ('username', 'email')
    read_only_fields = ('email', )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28441614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档