首页 > 解决方案 > 如何从 Django REST 框架中获取数据?

问题描述

我刚刚通过观看 youtube 上的教程完成了自己的基本 REST Web 服务,但问题是我看到的所有 Django REST 框架教程只关注如何创建 REST API,我从未见过有人解释如何与它。

所以现在我只想问我如何从中获取数据?我的意思是我可以使用 Postman 登录或获取数据甚至插入数据。但是我怎样才能使用 Django 网站呢?

例如,如果我创建另一个 Django 网站并且我想使用我创建的 REST API。我该怎么做?如果可能的话,我还想使用我创建的 REST Web 服务注册/登录。

注意:我从未尝试过任何代码,因为我完全不知道该怎么做。

标签: djangorestdjango-rest-framework

解决方案


RESTFUL API 提供两个应用程序之间的通信。DRF 是在 Django 之上开发的。使用 Django,您将使用 url 来提供模板(前端)与视图集之间的通信,因此无需在 django 中使用 REST API。使用 DRF urls 为外部应用程序提供端点以与您的后端通信,如移动应用程序、角度应用程序和反应。Get 方法在视图集中定义,它解释在 url 中定义的请求,例如

#Model
class Student(models.Model):
    name = models.CharField(max_length=255)
    age = models.IntegerField()
    created_date = models.DateTimeField(auto_now_add=True)
    def __str__(self):
        return self.name
#Serializer
class StudentSerializer(serializers.ModelSerializer):
    class Meta:
        model = Student
        fields = '__all__'
#Viewset
'''
For commonly perfomed operations you can use class based views to provide conformity in your APIs
'''
class StudentViewset(APIView)
    #Define here your get method
    def get(self,request,format=None):
        student = Student.objects.all()
        serializer = StudentSerializer(student)
        Response(serializer.data)
##URLS
urlpatterns = [
    path('api/students',StudentViewset.as_view())
]

要将您的前端连接到这个页面,就像角度一样,您将发送一个请求,例如

  http.get('localhost:8000/api/student').subscribe
#Or using JQUERY YOU CAN SEND A REQUEST LIKE
   $.get('localhost:8000/api/student')

推荐阅读