djangorestframework的使用
时间: 2023-07-11 16:05:15 浏览: 74
Django REST framework (DRF) 是一个用于构建 Web API 的强大框架,它基于 Django 平台,提供了许多用于构建 RESTful API 的功能。
下面是使用 DRF 的一些步骤:
1. 安装 DRF
使用 pip 命令安装 DRF:
```
pip install djangorestframework
```
2. 在 settings.py 中添加 DRF
在你的 Django 项目的 settings.py 文件中,添加以下内容:
```python
INSTALLED_APPS = (
...
'rest_framework',
...
)
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
}
```
这将启用 DRF 并配置默认的身份验证和权限。
3. 创建序列化器
序列化器用于将数据模型转换为 JSON 或其他格式的数据。可以通过继承 DRF 的 Serializer 类来创建自定义序列化器。
例如,以下代码创建了一个名为 BookSerializer 的序列化器:
```python
from rest_framework import serializers
from myapp.models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = '__all__'
```
4. 创建视图
视图定义了 API 中的端点和响应。可以通过继承 DRF 的 APIView 类来创建自定义视图。
例如,以下代码创建了一个名为 BookList 的视图,用于获取所有书籍:
```python
from rest_framework.views import APIView
from rest_framework.response import Response
from myapp.models import Book
from myapp.serializers import BookSerializer
class BookList(APIView):
def get(self, request):
books = Book.objects.all()
serializer = BookSerializer(books, many=True)
return Response(serializer.data)
```
5. 创建 URL
在 Django 项目的 urls.py 文件中,创建 URL 映射以将视图与端点关联起来。
例如,以下代码将 URL /books 映射到 BookList 视图:
```python
from django.urls import path
from myapp.views import BookList
urlpatterns = [
path('books/', BookList.as_view(), name='book-list'),
]
```
6. 运行应用程序
运行 Django 应用程序并在浏览器中访问 http://localhost:8000/books/,就可以看到所有书籍的 JSON 数据了。
这只是 DRF 的基础知识。要深入了解 DRF,请查看官方文档:https://www.django-rest-framework.org/ 。
阅读全文