【问题标题】:How to fetch data from Django REST Framework?如何从 Django REST 框架中获取数据?
【发布时间】:2020-07-24 14:58:54
【问题描述】:

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

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

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

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

【问题讨论】:

  • 基本上,您正在寻找的是如何从 Python 作为客户端使用 RESTful API。您可以从纯粹使用 Javascript 或任何 Javascript 框架的浏览器中使用它。您还可以使用 Python http.client 从服务器端使用它。所以你所追求的是使用 RESTful API 的 HttpClient

标签: django rest django-rest-framework


【解决方案1】:

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())
]

要将您的前端连接到此页面,如 Angular,您将发送类似的请求

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 2015-12-07
    • 2017-06-03
    • 2020-09-13
    • 1970-01-01
    相关资源
    最近更新 更多