使用Django和Django Rest Framework创建RESTful API
- 安装Django和Django Rest Framework
安装Django和Django Rest Framework的命令如下:
pip install django pip install djangorestframework
- 创建Django项目和应用程序
使用以下命令创建Django项目和应用程序:
django-admin startproject myproject cd myproject python manage.py startapp myapp
- 创建模型
在myapp/models.py文件中定义一个模型。以下是一个简单的示例:
from django.db import models class Person(models.Model): name = models.CharField(max_length=50) email = models.EmailField(max_length=50) phone = models.CharField(max_length=20)
运行以下命令创建数据库表:
python manage.py makemigrations python manage.py migrate
- 创建序列化器
在myapp/serializers.py文件中定义一个序列化器。以下是一个简单的示例:
from rest_framework import serializers from .models import Person class PersonSerializer(serializers.ModelSerializer): class Meta: model = Person fields = '__all__'
- 创建视图
在myapp/views.py文件中定义一个视图。以下是一个简单的示例:
from rest_framework import generics from .models import Person from .serializers import PersonSerializer class PersonList(generics.ListCreateAPIView): queryset = Person.objects.all() serializer_class = PersonSerializer class PersonDetail(generics.RetrieveUpdateDestroyAPIView): queryset = Person.objects.all() serializer_class = PersonSerializer
- 创建URL模式
在myapp/urls.py文件中为视图创建URL模式。以下是一个简单的示例:
from django.urls import path from .views import PersonList, PersonDetail urlpatterns = [ path('persons/', PersonList.as_view(), name='person-list'), path('persons/<int:pk>/', PersonDetail.as_view(), name='person-detail'), ]
- 注册URL模式
将myapp/urls.py文件中的URL模式注册到myproject/urls.py文件。以下是一个示例:
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('api/', include('myapp.urls')), ]
- 运行开发服务器
运行以下命令开始开发服务器:
python manage.py runserver
现在可以访问RESTful API了。例如,访问“http://127.0.0.1:8000/api/persons/”将显示所有人员的列表。
参考文献:
- Django官方文档:https://docs.djangoproject.com/
- Django Rest Framework官方文档:https://www.django-rest-framework.org/
相关文章