本章将讲解如何通过Django框架进行后端开发。 1. 安装需要的包 1 pip install django djangorestframework django-cors-headers
2. 创建一个Django项目 1 2 django-admin startproject core . python manage.py startapp api
3. 配置Django项目 在core/settings.py
中添加以下代码:
1 2 3 4 5 6 7 8 9 10 11 INSTALLED_APPS = [ 'django.contrib.admin' , 'django.contrib.auth' , 'django.contrib.contenttypes' , 'django.contrib.sessions' , 'django.contrib.messages' , 'django.contrib.staticfiles' , 'rest_framework' , 'corsheaders' , 'api' , ]
4. 在api/models.py中创建一个简单的模型: 1 2 3 4 5 6 7 8 9 from django.db import modelsclass Task (models.Model): title = models.CharField(max_length=200 ) completed = models.BooleanField(default=False ) created_at = models.DateTimeField(auto_now_add=True ) def __str__ (self ): return self .title
5. 在api/serializers.py中创建一个简单的序列化器: 1 2 3 4 5 6 7 from rest_framework import serializersfrom .models import Taskclass TaskSerializer (serializers.ModelSerializer): class Meta : model = Task fields = '__all__'
6. 在api/views.py中创建一个简单的视图: 1 2 3 4 5 6 7 from rest_framework import viewsetsfrom .models import Taskfrom .serializers import TaskSerializerclass TaskViewSet (viewsets.ModelViewSet): queryset = Task.objects.all () serializer_class = TaskSerializer
7. 在core/urls.py中添加以下代码配置: 1 2 3 4 5 6 7 8 9 10 11 12 from django.contrib import adminfrom django.urls import path, includefrom rest_framework.routers import DefaultRouterfrom api.views import TaskViewSetrouter = DefaultRouter() router.register(r'tasks' , TaskViewSet) urlpatterns = [ path('admin/' , admin.site.urls), path('api/' , include(router.urls)), ]
8. 进行数据迁移 1 2 python manage.py makemigrations python manage.py migrate
9. 启动Django开发服务器 1 python manage.py runserver
如何访问? 在完成上述配置后,我们可以通过以下方式访问我们的API:
1. 访问管理页面 在浏览器中访问 http://127.0.0.1:8000/admin/ ,可以进入Django的管理界面。首先需要创建一个超级用户:
1 python manage.py createsuperuser
然后使用超级用户的账号和密码登录。
2. API端点使用说明 我们的API提供了以下端点:
列表和创建任务:
URL: http://127.0.0.1:8000/api/tasks/
方法:
获取、更新和删除单个任务:
URL: http://127.0.0.1:8000/api/tasks/{id}/
方法:
GET:获取特定任务
PUT:更新整个任务
PATCH:部分更新任务
DELETE:删除任务
3. API使用示例 以下是使用curl命令或Postman等工具访问API的示例:
获取任务列表 1 curl http://127.0.0.1:8000/api/tasks/
创建新任务 1 2 3 curl -X POST http://127.0.0.1:8000/api/tasks/ \ -H "Content-Type: application/json" \ -d '{"title":"新任务","completed":false}'
获取单个任务 1 curl http://127.0.0.1:8000/api/tasks/1/
更新任务 1 2 3 curl -X PUT http://127.0.0.1:8000/api/tasks/1/ \ -H "Content-Type: application/json" \ -d '{"title":"更新的任务","completed":true}'
部分更新任务 1 2 3 curl -X PATCH http://127.0.0.1:8000/api/tasks/1/ \ -H "Content-Type: application/json" \ -d '{"completed":true}'
删除任务 1 curl -X DELETE http://127.0.0.1:8000/api/tasks/1/
4. API测试工具推荐 除了使用curl命令行工具,还可以使用以下工具来测试API:
Postman :一个功能强大的API测试工具,提供图形界面,方便测试和调试API。
Swagger UI :Django REST framework提供了内置的API文档界面,访问 http://127.0.0.1:8000/api/ 即可查看。
HTTPie :一个用户友好的命令行HTTP客户端,安装方式:
5. 注意事项
确保服务器正在运行(python manage.py runserver
)
API返回的数据格式为JSON
创建和更新请求需要设置Content-Type头为application/json
所有的API端点都以/api/为前缀
本文章发布于 hjq.college ,转载请注明出处。