【发布时间】:2016-08-10 08:59:17
【问题描述】:
我正在关注Django Rest Framework - Tutorial 3 Class based views 上的教程。
如何将 url 字段(指向当前的 sn-p)添加到序列化程序中?
serializers.py
from rest_framework import serializers
from snippets.models import Snippet, LANGUAGE_CHOICES, STYLE_CHOICES
from django.core.urlresolvers import reverse
class SnippetSerializer(serializers.ModelSerializer):
class Meta:
model = Snippet
fields = ('id', 'title', 'code', 'linenos', 'language', 'style')
urls.py
urlpatterns = [
url(r'^snippets/$', views.SnippetList.as_view()),
url(r'^snippets/(?P<pk>[0-9]+)/$', views.SnippetDetail.as_view()),
]
实际输出
[
{
"id":1,
"title":"",
"code":"foo = \"bar\"\n",
"linenos":false,
"language":"python",
"style":"friendly"
}
]
所需的输出
[
{
"id":1,
"url":"http://192.168.28.131:8000/snippets/1/",
"title":"",
"code":"foo = \"bar\"\n",
"linenos":false,
"language":"python",
"style":"friendly"
},
]
【问题讨论】:
-
只要你遵循命名约定或者有命名的url:django-rest-framework.org/api-guide/reverse
标签: python django django-rest-framework django-urls