Django 结合DRF的详细使用教程
时间: 2024-06-08 19:08:46 浏览: 162
Django REST framework(DRF)是 Django 的一个强大的、灵活的、用于构建 Web API 的工具包。它是 Django 的一个扩展,提供了一个适用于 Django Web 框架的 REST 框架。本教程将介绍如何使用 Django 结合 DRF 构建 Web API。
## 1. 安装 Django 和 DRF
首先,需要安装 Django 和 DRF。可以使用 pip 命令进行安装:
```
pip install django
pip install djangorestframework
```
## 2. 创建 Django 项目和应用
使用以下命令创建一个名为 myproject 的 Django 项目:
```
django-admin startproject myproject
```
然后,使用以下命令在 myproject 项目中创建一个名为 myapp 的 Django 应用程序:
```
cd myproject
python manage.py startapp myapp
```
## 3. 配置数据库
在 settings.py 文件中配置数据库连接:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
```
## 4. 创建模型
在 myapp/models.py 文件中创建一个模型:
```python
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
published_date = models.DateField()
```
## 5. 创建序列化器
在 myapp/serializers.py 文件中创建一个序列化器:
```python
from rest_framework import serializers
from .models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ('id', 'title', 'author', 'published_date')
```
## 6. 创建视图
在 myapp/views.py 文件中创建一个视图:
```python
from rest_framework import generics
from .models import Book
from .serializers import BookSerializer
class BookList(generics.ListCreateAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
class BookDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
```
## 7. 配置 URL
在 myproject/urls.py 文件中配置 URL:
```python
from django.urls import path
from myapp.views import BookList, BookDetail
urlpatterns = [
path('books/', BookList.as_view()),
path('books/<int:pk>/', BookDetail.as_view()),
]
```
## 8. 运行项目
运行以下命令启动服务器:
```
python manage.py runserver
```
现在,可以通过访问 http://localhost:8000/books/ 查看所有书籍,或者访问 http://localhost:8000/books/1/ 查看 ID 为 1 的书籍的详细信息。
至此,已经学会了如何使用 Django 和 DRF 构建 Web API,包括创建模型、序列化器、视图和 URL。
阅读全文