Python Django Rest框架序列化程序返回UItextfield而不是实际值
因此,我将Django Rest框架用于我的API,并尝试为auth用户模型创建一个API。 这是我的序列化程序类Python Django Rest框架序列化程序返回UItextfield而不是实际值,python,django,django-rest-framework,Python,Django,Django Rest Framework,因此,我将Django Rest框架用于我的API,并尝试为auth用户模型创建一个API。 这是我的序列化程序类 class UserSerializer(serializers.ModelSerializer): class Meta: model = User exclude = ('password',) 我的观点如下 class UserApiDetailView(RetrieveAPIView): queryset = U
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
exclude = ('password',)
我的观点如下
class UserApiDetailView(RetrieveAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
url(r'^user/(?P<pk>[0-9]+)/$', views.UserApiDetailView.as_view()),
我的网址如下
class UserApiDetailView(RetrieveAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
url(r'^user/(?P<pk>[0-9]+)/$', views.UserApiDetailView.as_view()),
url(r'^user/(?P[0-9]+)/$,views.userapitailview.as_view()),
我在调用API时得到以下输出
HTTP/1.0 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Date: Sat, 12 Dec 2015 18:54:04 GMT
Server: WSGIServer/0.1 Python/2.7.10
Vary: Accept, Cookie
X-Frame-Options: SAMEORIGIN
{
"date_joined": "2015-10-30T06:25:17.400955Z",
"email": "<UITextField: 0x7fee18f6fa10",
"first_name": "",
"groups": [],
"id": 2,
"is_active": true,
"is_staff": false,
"is_superuser": false,
"last_login": null,
"last_name": "",
"user_permissions": [],
"username": "<UITextField: 0x7fee18f69ad0"
}
HTTP/1.0 200正常
允许:获取、头部、选项
内容类型:application/json
日期:2015年12月12日星期六18:54:04 GMT
服务器:WSGIServer/0.1 Python/2.7.10
改变:接受,Cookie
X-Frame-Options:SAMEORIGIN
{
“加入日期”:“2015-10-30T06:25:17.400955Z”,
“email”:“我有一个理论。这可能就是正在发生的事情:
- iOS设备正在使用您的API
- iOS应用程序正在发送序列化为字符串的
UITextField
对象,而不是它的值
- 当您查看API中的数据时,您会被这些数据弄糊涂,因为它看起来像某个Python对象的字符串表示
调试问题:
在django admin或数据库中更好地检查特定用户的username
和password
字段。这将帮助您找到数据库中真正的内容。我在Python中没有找到任何与UITextField
相关的内容。您的项目中有它吗?我不敢相信我在这方面花了这么多时间苏。哇,我现在觉得自己很笨。非常感谢你的帮助。