【发布时间】:2016-03-20 14:26:58
【问题描述】:
我对 django 的 rest 框架还很陌生,我使用官方教程 here 构建了我的第一个示例 API。但我不知道如何将此 API 的数据使用到同一项目中的另一个应用程序中,以便可以将其数据呈现为 HTML。
假设我为学校的学生(及其详细信息)创建了一个 API students。现在我如何在同一个项目中使用这个 API 来显示学校的学生人数和他们的详细信息。
大多数在线教程或解释都是针对第三方 API 的,我不知道如何继续。提前致谢。
models.py
class Test(models.Model):
date = models.DateTimeField(auto_now_add=True)
test_name = models.CharField(max_length=200,default='simple blood test',blank=False)
subject = models.CharField(max_length=100,default='')
def __str__(self):
return self.test_name
class Person(models.Model):
tests = models.ManyToManyField(Test)
title = models.CharField(max_length=3,default="mr",blank=False)
name = models.CharField(max_length=50,default='',blank=False)
def __str__(self):
return self.name
views.py
class PersonList(generics.ListCreateAPIView):
queryset = Person.objects.all()
serializer_class = PersonSerializer
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
class PersonDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Person.objects.all()
serializer_class = PersonSerializer
serializers.py
class TestSerializer(serializers.ModelSerializer):
class Meta:
model = Test
fields = ('test_name','subject')
class PersonSerializer(serializers.HyperlinkedModelSerializer):
owner = serializers.ReadOnlyField(source='owner.username')
tests = TestSerializer(many=True, read_only=True)
class Meta:
model = Person
fields = ('url','id','name')
这是我的 API 定义。我想创建另一个应用程序来显示数据,例如所有学生的列表和他们的详细信息等。
【问题讨论】:
-
您只需要使用url,如果您没有显示代码,或者具体问题我们无法帮助您
标签: python django api django-rest-framework