Djangoは私のために新しく、私はカスタムjson応答が欲しいです。 私はAndroid App Retrofitを使ってサーバーからの応答を得ようとしています。サーバによる正確な応答 。私は私はdjangoを使ってカスタムjson形式を望みます
{
"username": "admin",
"token": "xxx"
}
のようなJSON形式を得たが、私はJSON形式のデータを返す
responseCode{
responseCode:xxx,
ResponseData:
{token:xxx,username:xxx}
}
コード
class UserLoginSerializer(serializers.ModelSerializer):
token = serializers.CharField(allow_blank = True , read_only = True)
username = serializers.CharField(required = False , allow_blank=True)
#email = serializers.EmailField(label="Email Adress",required = False, allow_blank=True)
class Meta:
model = User
fields = [
'username',
#'email',
'password',
'token',
]
extra_kwargs ={"password":
{"write_only":True
}
}
def validate(self, data):
user_obj = None
#email = data.get('email', None)
username = data.get("username", None)
password = data["password"]
if not username:
raise ValidationError("A username or email is required to login")
user=User.objects.filter(
#Q(email=email)|
Q(username=username)
).distinct()
#user = user.exclude(email=None)
if user.exists() and user.count() == 1 :
user_obj = user.first()
else:
raise ValidationError("username not valid.")
if user_obj:
if not user_obj.check_password(password):
raise ValidationError("Incorrect credentials please try again")
#token = Token.objects.get_or_create(user=user_obj)
token, created = Token.objects.get_or_create(user=user_obj)
data["token"] = token.key
data["username"] = user_obj
return data
をしたいのおかげ
、JSON形式を一致させる必要が私を助けてください
私はこのようなものを試しました
# responseCode = {}
# responseData = {}
# responseData['token'] = token.key
# responseData['username'] = user_obj
# responseCode['responseData'] = responseData
# data["responseCode"] = responseCode
なく動作し、
感謝を持つことができ、私はそれがOKであれば – mayur
をしようとします行う??? – obayhan
その作業のように見える..私は何をし、働いていない – mayur