Django 和drf的区别

本文对比了Django REST Framework (DRF) 和 Django 的主要区别。DRF 是 Django 的扩展,移除了模板部分,提供了 REST 接口,并增强了权限、分页等功能,增加了限流和过滤搜索等特性。

Django 和drf的区别

Django REST Framwork 和 Django

1.两者的概念:

Django REST Framwork:
将数据库的东西通过ORM的映射取出来,通过view和serializers文件绑定REST接口,当前端请求时,返回序列化好的json。

Django:

将数据库的东西通过ORM的映射取出来,通过view文件,按照template文件排出的模板渲染成HTML。当用户请求相应的url时,返回相应的结果。

2.Django REST Framwork在Django的基础上的改变:

DRF是Django的超集(就是前者有的东西是后者没有的东西),去掉了模板的部分,提供了一个REST的接口,同时也提供了满足该接口的代码工作流。同时,在REST的规范下,升级了权限和分页等功能,增加了限流和过滤搜索等功能。

在这里插入图片描述

### 如何在 Django DRF 中获取 GET 请求的查询参数 #### 在 Django 中获取 GET 查询参数 当处理来自客户端带有查询字符串的 HTTP GET 请求时,在 Django 的视图函数内可以通过 `request.GET` 来访问这些参数。这是一个类似于字典的对象,允许通过键来检索对应的值。 ```python from django.http import HttpResponse def get_query_param_example(request): query_param_value = request.GET.get('param_name', default='default_value') return HttpResponse(f'The value of param_name is {query_param_value}') ``` 上述代码展示了如何从 URL 参数中读取名为 `param_name` 的值并返回给用户[^1]。 #### 使用 Django REST Framework (DRF) 获取 GET 查询参数 对于基于 DRF 构建的应用程序来说,虽然可以直接利用底层的 Django 功能,但是更推荐的方式是使用 DRF 提供的功能更强的工具集。特别是当定义 API 视图时,可以继承自 `APIView` 或者其他更高层次的类,并且能够方便地操作请求数据。 ```python from rest_framework.views import APIView from rest_framework.response import Response from rest_framework.request import Request class QueryParamExample(APIView): def get(self, request: Request): query_param_value = self.request.query_params.get('param_name', default='default_value') return Response({'message': f'The value of param_name is {query_param_value}'}) ``` 这里展示了一个简单的例子,其中 `self.request.query_params` 是一个 MultiValueDict 类型的数据结构,它提供了 Django 的 `request.GET` 相同的功能,但更适合于构建 RESTful APIs[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值