django - 如何从 Django REST 框架中获取数据?
问题描述
我刚刚通过观看 youtube 上的教程完成了自己的基本 REST Web 服务,但问题是我看到的所有 Django REST 框架教程只关注如何创建 REST API,我从未见过有人解释如何与它。
所以现在我只想问我如何从中获取数据?我的意思是我可以使用 Postman 登录或获取数据甚至插入数据。但是我怎样才能使用 Django 网站呢?
例如,如果我创建另一个 Django 网站并且我想使用我创建的 REST API。我该怎么做?如果可能的话,我还想使用我创建的 REST Web 服务注册/登录。
注意:我从未尝试过任何代码,因为我完全不知道该怎么做。
解决方案
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')
推荐阅读
- sapui5 - SAPUI5 SmartTable pressItem 事件被触发两次
- sql-server - 如何检查用户是否有 x 天没有登录,然后在 SQL Server 的表中禁用用户
- html - 改变离子含量的颜色
- f# - 在 F# 上从元组列表创建一个列表
- android - 如何从 JSON 中提取数据?
- css - 带有阴影+文本覆盖和悬停时另一个覆盖的引导响应图像
- ms-access - 重新链接表后重新查询表单
- php - 查询具体case条件
- python - Python 'float64' 无法转换为 MySQL 类型
- sql-server - 如何更新客户 sql server 数据库中的结构变化